Problem E
Foreign Exchange
Input: standard input
Output: standard output
Time Limit: 1 second
切都是水题,本来可以好好动脑的,为什么天杀的就让我贪容易混着STL将它过了呢?
1 #include<iostream> 2 #include<cstring> 3 #include<map> 4 #define SIZE 1000002 5 using namespace std; 6 multimap<int, int>exchange; 7 int main() 8 { 9 #ifndef ONLINE_JUDGE 10 freopen("input.txt", "r", stdin); 11 #endif 12 int n; 13 while(cin>>n && n) 14 { 15 exchange.clear(); 16 for(int i=0; i<n; ++i) 17 { 18 int from, to; 19 cin>>from>>to; 20 bool flag = true; 21 for(multimap<int, int>::iterator i = exchange.find(to); i != exchange.end() && i->first == to; ++i) 22 { 23 if(i->second == from) 24 { 25 exchange.erase(i); 26 flag = false; 27 break; 28 } 29 } 30 if(flag == true) exchange.insert(make_pair(from, to)); 31 } 32 if(exchange.empty()) cout<<"YES"<<endl; 33 else cout<<"NO"<<endl; 34 } 35 return 0; 36 }