UVA - 11991 Easy Problem from Rujia Liu?(map)

来源:互联网 发布:软件 开发 详细价格 编辑:程序博客网 时间:2024/05/19 01:59

acm集训,开始学基本数据结构,先发点基础的(自己看,同时也方便大家)

#include<iostream>#include<map>#include<vector>using namespace std;int main(){int n,m,key,v;unsigned k;while(cin>>n>>m){map<int, vector<int> > date;for(int i=1;i<=n;i++){cin>>key;if(!date.count(key))date[key]=vector<int>();date[key].push_back(i);}for(i=0;i<m;i++){cin>>k>>v;if(!date.count(v)||k>date[v].size())cout<<0<<endl;else cout<<date[v][k-1]<<endl;}}return 0;}

同时附上同学的代码,额,觉得他代码更容易理解,向他学习

#include<cstdio>  #include<map>  #include<vector>  using namespace std;  map<int ,vector<int> > mm;  int main(){      int n,m,a, k,v;      while(scanf("%d%d",&n,&m)==2){          mm.clear();          for(int i=1;i<=n;i++){              scanf("%d",&a);              mm[a].push_back(i);          }          while(m--){             scanf("%d%d",&k,&v);             if(mm[v].size()<k) printf("0\n");             else   printf("%d\n",mm[v][k-1]);          }      }      return 0;    }


0 0
原创粉丝点击