Uva 10763 Foreign Exchange

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 }
原文地址:https://www.cnblogs.com/liaoguifa/p/3086427.html