poj 2153

    技术2022-05-19  27

    简单的map容器的应用,刚开始学会用map,所以做的时候费了不少功夫,特别是输入的问题(有空格的字符串,数字和字符同时输入),写下来方便以后复习,

    参考了别人的代码:

    #include<iostream>#include<map>#include<string>using namespace std;int score;int main(){

     int n,i,m,j,count; cin>>n; string s; char name[30];    map<string,int> namemap; for(i = 0;i < n;i++){  getchar();   //带空格的字符串输入,感觉用gets()比较好,前面的getchar()是回车符

      gets(name);  s = name;   //map<string,int> 所以输入字符数组再转化成string型的  namemap[s] = 0; } cin>>m; for(i = 0;i < m;i++){  for(j = 0;j < n;j++){   scanf("%d ",&score); //%d后面跟一个空格 因为输入的时候是用空格区分的 没有这个空格 不显示输出   gets(name);   s = name;   namemap[s] += score;  }  count = 1;  map<string,int>::iterator pos;     s = "Li Ming";  for(pos = namemap.begin();pos != namemap.end();pos++){     if(pos->second > namemap[s])    count++;  }  cout<<count<<endl; } return 0; }


    最新回复(0)