#include <cstdio>
const unsigned int tmax = 10;
const unsigned int nmax = 100000;
unsigned int contestants[tmax];
long long unsigned int contest[tmax][4][nmax];
long long unsigned int findmax(long long unsigned int*,unsigned int);
long long unsigned int findmin(long long unsigned int*,unsigned int);
int main() {
unsigned int t;
long long unsigned int wmin;
long long unsigned int wmax;
long long unsigned int hmin;
long long unsigned int hmax;
scanf("%d",&t);
for(unsigned int i=0; i<t; i++) {
scanf("%d",&contestants[i]);
for(unsigned int j=0; j<contestants[i]; j++) {
scanf("%llu %llu %llu %llu",&contest[i][0][j],&contest[i][1][j],&contest[i][2][j],&contest[i][3][j]);
}
}
for(unsigned int i=0; i<t; i++) {
wmin = findmin(contest[i][0],contestants[i]);
wmax = findmax(contest[i][1],contestants[i]);
hmin = findmin(contest[i][2],contestants[i]);
hmax = findmax(contest[i][3],contestants[i]);
bool iswinning=false;
for(unsigned int j=0; j<contestants[i]; j++) {
if ((contest[i][0][j]==wmin) && (contest[i][1][j]==wmax) && (contest[i][2][j]==hmin) && (contest[i][3][j]==hmax)) {
printf("TAK\n");
iswinning = true;
break;
}
}
if (!iswinning) printf("NIE\n");
}
return 0;
}
long long unsigned int findmax(long long unsigned int* tab, unsigned int n) {
long long unsigned int current = tab[0];
for (unsigned int i=1; i<n; i++) if (current<tab[i]) current=tab[i];
return current;
}
long long unsigned int findmin(long long unsigned int* tab, unsigned int n) {
long long unsigned int current = tab[0];
for (unsigned int i=1; i<n; i++) if (current>tab[i]) current=tab[i];
return current;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include <cstdio> const unsigned int tmax = 10; const unsigned int nmax = 100000; unsigned int contestants[tmax]; long long unsigned int contest[tmax][4][nmax]; long long unsigned int findmax(long long unsigned int*,unsigned int); long long unsigned int findmin(long long unsigned int*,unsigned int); int main() { unsigned int t; long long unsigned int wmin; long long unsigned int wmax; long long unsigned int hmin; long long unsigned int hmax; scanf("%d",&t); for(unsigned int i=0; i<t; i++) { scanf("%d",&contestants[i]); for(unsigned int j=0; j<contestants[i]; j++) { scanf("%llu %llu %llu %llu",&contest[i][0][j],&contest[i][1][j],&contest[i][2][j],&contest[i][3][j]); } } for(unsigned int i=0; i<t; i++) { wmin = findmin(contest[i][0],contestants[i]); wmax = findmax(contest[i][1],contestants[i]); hmin = findmin(contest[i][2],contestants[i]); hmax = findmax(contest[i][3],contestants[i]); bool iswinning=false; for(unsigned int j=0; j<contestants[i]; j++) { if ((contest[i][0][j]==wmin) && (contest[i][1][j]==wmax) && (contest[i][2][j]==hmin) && (contest[i][3][j]==hmax)) { printf("TAK\n"); iswinning = true; break; } } if (!iswinning) printf("NIE\n"); } return 0; } long long unsigned int findmax(long long unsigned int* tab, unsigned int n) { long long unsigned int current = tab[0]; for (unsigned int i=1; i<n; i++) if (current<tab[i]) current=tab[i]; return current; } long long unsigned int findmin(long long unsigned int* tab, unsigned int n) { long long unsigned int current = tab[0]; for (unsigned int i=1; i<n; i++) if (current>tab[i]) current=tab[i]; return current; } |
English