#include #include #include #include typedef struct tteam tteam; struct tteam { char *name; int r[8]; }; tteam teams[120]; char name[110][120]; int n; int table[100][100][2]; int m; int nlong; /*int result[100][7]; */ void setr(int team, int r, int v) { teams[team].r[r] = v; } void plus1(int team, int r) { teams[team].r[r]++; } void plus(int team, int r, int v) { teams[team].r[r] += v; } int getteam(char *str) { int t; for (t=0;t nlong) { nlong = l; } teams[t].name = name[t]; teams[t].r[7] = t; } nlong--; reset(); int m; scanf("%i\n", &m); char tmp[500]; for (t=0;t b) { plus(team1,0,3); plus1(team1,5); plus1(team2,3); } if (a < b) { plus(team2,0,3); plus1(team2,5); plus1(team1,3); } plus1(team2,6); plus1(team1,6); plus(team1,1,b); plus(team1,2,a); plus(team2,2,b); plus(team2,1,a); } } static int compmi(const void *m1, const void *m2) { tteam *t1 = (tteam *) m1; tteam *t2 = (tteam *) m2; if (t1->r[0] == t2->r[0]) { int z1 = t1->r[2] - t1->r[1]; int z2 = t2->r[2] - t2->r[1]; if (z1 == z2) { if (t1->r[2] == t2->r[2]) { if (t2->r[5] == t1->r[5]) { return t2->r[7] - t1->r[7]; } return t2->r[5] - t1->r[5]; } return t2->r[2] - t1->r[2]; } return z2 - z1; } else return t2->r[0] - t1->r[0]; } void printline() { int t; printf("+"); for (t=0;t u[0]) { u[0] = x; } x = sprintf(v[t][1],"%i",teams[t].r[5]); if (x > u[1]) { u[1] = x; } x = sprintf(v[t][2],"%i",teams[t].r[4]); if (x > u[2]) { u[2] = x; } x = sprintf(v[t][3],"%i",teams[t].r[3]); if (x > u[3]) { u[3] = x; } x = sprintf(v[t][4],"%i:%i",teams[t].r[2], teams[t].r[1]); if (x > u[4]) { u[4] = x; } x = sprintf(v[t][5],"%i",teams[t].r[0]); if (x > u[5]) { u[5] = x; } } char tmpl[100]; int j = sprintf(tmpl,"%i",n); for (t=0;t