#include<set> #include<map> #include<string> #include<vector> #include<iostream> #include<algorithm> using namespace std; int main() { vector<int> V; /*for(int i=10;i>=0;i--) { V.push_back(i); V.push_back(i); } int size=V.size(); for(int i=0;i<size;i++) { printf("%d ",V[i]); } puts(""); sort(V.begin(),V.end()); int tot=unique(V.begin(),V.end())-V.begin(); for(int i=0;i<tot;i++) { printf("%d ",V[i]); }*/ V.clear(); /*int num[110]; for(int i=0;i<5;i++) { scanf("%d",&num[i]); V.push_back(num[i]); } sort(V.begin(),V.end()); int tot=unique(V.begin(),V.end())-V.begin(); for(int i=0;i<5;i++) { num[i]=lower_bound(V.begin(),V.end(),num[i])-V.begin();//返回大于等于关键字的第一个位置,注意V是有序的 printf("%d ",num[i]); } int pos=upper_bound(V.begin(),V.end(),4)-V.begin();//返回大于关键字的第一个位置 printf("pos=%d\n",pos); */ /*set<int> s1; multiset<int> s2; s1.insert(1);s1.insert(1);s1.insert(2);//插入的数按默认是从小到大排序 for(set<int>::iterator it=s1.begin();it!=s1.end();it++) { printf("%d ",*it); } for(set<int>::reverse_iterator it=s1.rbegin();it!=s1.rend();it++)//反向遍历 printf("%d ",*it); puts(""); s2.insert(1);s2.insert(1);s2.insert(2); puts("**************************"); for(multiset<int>::iterator it=s2.begin();it!=s2.end();it++) { printf("%d ",*it); } printf("hehehe\n"); s2.erase(*s2.begin()); for(multiset<int>::iterator it=s2.begin();it!=s2.end();it++) { printf("%d ",*it); } if(s2.find(2)!=s2.end()) { printf("YES\n"); } else printf("No\n");*/ /*map<string,int> mp; string s; for(int i=1;i<=5;i++) { cin>>s; mp[s]=i; } for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++) { printf("%s %d\n",it->first.c_str(),it->second); } puts("");*/ pair<int,int> pt1,pt2; pt1=make_pair(10,1010); pt2=make_pair(4565,123); map<pair<int,int>,int> mm; mm[pt1]=1;mm[pt2]=2; for(map<pair<int,int>,int>::iterator it=mm.begin();it!=mm.end();it++) { printf("%d %d ---->%d\n",it->first.first,it->first.second,it->second); } puts(""); }