// UVa 10763 - Foreign Exchange #include <iostream> #include <map> #include <vector> using namespace std; struct par { int a, b; }; bool operator <(par x, par y) { return x.a < y.a || (x.a == y.a && x.b < y.b); } bool operator ==(par x, par y) { return x.a == y.a && x.b == y.b; } int main() { int n; while (cin >> n && n) { vector<par> v; map<par, int> count; for (int i = 0; i < n; i++) { int a, b, c; cin >> a >> b; if (a > b) { c = a; a = b; b = c; c = -1; } else c = 1; par p = { a, b }; v.push_back(p); count[p] += c; } bool yes = true; for (int i = 0; i < n; i++) if (count[v[i]] != 0) { yes = false; break; } if (yes) cout << "YES" << endl; else cout << "NO" << endl; } return 0; }
Thursday, May 14, 2015
UVa 10763 - Foreign Exchange
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment