uva 10763 map基本用法

map基本用法 .clear(), .empty(), .insert(), .size(), .erase()
用map,int>,建立两个相反的pair,如果一致,就清除

#include 
using namespace std;
int main(){
 int n;
 map<pair<int,int>,int > mp;
 while(cin>>n){
  if(n==0) break;
  mp.clear();
  for(int i=0;i<n;i++){
   int a,b;
   cin>>a>>b;
   pair<int,int> x1=make_pair(a,b);
   pair<int,int> x2=make_pair(b,a);
   if(mp[x2]) mp[x2]--;
   else mp[x1]++;
   if(!mp[x2]) mp.erase(x2);
  }
  if(!mp.size()) cout<<"YES"<<endl;
  else cout<<"NO"<<endl;
 }
 return 0;
}

你可能感兴趣的:(uva)