Monday, May 23, 2016

UVa 11804 - Argentina

// 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;
}

No comments:

Post a Comment