#include #include #include //int main() { // int n, h, mins, imins, all; // char s[100][6]; // // scanf("%d", &n); // for(int i = 0; i < n; ++i) { // scanf("%s", s[i]); // } // for(int i = 0; i < n; ++i) { // s[i][2] = s[i][3]; // s[i][3] = s[i][4]; // for(int j = 0; j < 4; ++j) // s[i][j] -= '0'; // h = s[i][0] * 10 + s[i][1]; // mins = s[i][2] * 10 + s[i][3]; // imins = s[i][3] * 10 + s[i][2]; // all = h * 100 + mins; // if(h < 0 || h > 23 || mins < 0 || mins > 59){ // printf("NO\n"); // continue; // } // if(mins == 0) { // printf("YES\n"); // continue; // } // if(h == mins) { // printf("YES\n"); // continue; // } // if(h == imins) { // printf("YES\n"); // continue; // } // if(s[i][0] + 1 == s[i][1] && s[i][1] + 1 == s[i][2] && s[i][2] + 1 == s[i][3]) { // printf("YES\n"); // continue; // } // while(all % 2 == 0) all = all / 2; // if(s[i][0] != 0 && all == 1) { // printf("YES\n"); // continue; // } // printf("NO\n"); // } // // return 0; //} typedef struct { char nume[20]; int puncte; int goals; }ECHIPA; ECHIPA e[4]; char e1[20], e2[20]; int g1, g2, ne = -1; int match(char *nume) { for(int i = 0; i <= ne; ++i) { if(strcmp(e[i].nume, nume) == 0) return i; } return -1; } void addScore(char *nume, int puncte, int goals) { int index = match(nume); if(index == -1) { ++ne; strcpy(e[ne].nume, nume); e[ne].puncte = 0; e[ne].goals = 0; index = ne; } e[index].puncte += puncte; e[index].goals += goals; } bool greatert(ECHIPA a, ECHIPA b) { if(a.puncte != b.puncte) { return a.puncte < b.puncte; } if(a.goals != b.goals) { return a.goals < b.goals; } return strcmp(a.nume, b.nume); } int main() { for(int i = 0; i < 6; ++i) { scanf("%s%s%d%d", e1, e2, &g1, &g2); if(g1 > g2) { addScore(e1, 3, g1); addScore(e2, 0, g2); continue; } if(g2 < g2) { addScore(e1, 0, g1); addScore(e2, 3, g2); continue; } addScore(e1, 1, g1); addScore(e2, 1, g2); } std::sort(e, e+4, greatert); for(int i = 3; i > -1; --i) { printf("%s\n", e[i].nume); } return 0; }