// UVa 11804 - Argentina #include <algorithm> #include <iostream> #include <string> #include <vector> using namespace std; struct player { string name; int a; int d; }; bool lexi(const player & x, const player & y) { return x.name < y.name; } bool operator <(const player & x, const player & y) { if (x.a > y.a) return true; if (x.a == y.a && x.d < y.d) return true; if (x.a == y.a && x.d == y.d) return x.name < y.name; return false; } int main() { int t; cin >> t; for (int tt = 1; tt <= t; tt++) { vector<player> v; for (int i = 0; i < 10; i++) { int at, de; string name; cin >> name >> at >> de; player p = { name, at, de }; v.push_back(p); } sort(v.begin(), v.end()); sort(v.begin(), v.begin() + 5, lexi); sort(v.begin() + 5, v.end(), lexi); cout << "Case " << tt << ":" << endl; cout << "(" << v[0].name << ", " << v[1].name << ", " << v[2].name << ", " << v[3].name << ", " << v[4].name << ")" << endl; cout << "(" << v[5].name << ", " << v[6].name << ", " << v[7].name << ", " << v[8].name << ", " << v[9].name << ")" << endl; } return 0; }
Monday, May 23, 2016
UVa 11804 - Argentina
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment