#include <stdio.h> #define max(a, b) ((a)>(b)?(a):(b)) #define min(a, b) ((a)<(b)?(a):(b)) int tab[100*1000+10][4]; int minw, maxw, minh, maxh; int find(int n) { int i; for(i=0; i<n; ++i) { if(minw==tab[i][0]&& maxw==tab[i][1]&& minh==tab[i][2]&& maxh==tab[i][3]) return 1; } return 0; } int main(void) { int t, n, i; scanf("%d", &t); while(t--) { scanf("%d", &n); minw=minh=2*1000*1000; maxw=maxh=-1; for(i=0; i<n; ++i) { scanf("%d%d%d%d",tab[i], tab[i]+1, tab[i]+2, tab[i]+3); minw=min(minw, tab[i][0]); maxw=max(maxw, tab[i][1]); minh=min(minh, tab[i][2]); maxh=max(maxh, tab[i][3]); } if(find(n)) puts("TAK"); else puts("NIE"); } return 0; }
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 | #include <stdio.h> #define max(a, b) ((a)>(b)?(a):(b)) #define min(a, b) ((a)<(b)?(a):(b)) int tab[100*1000+10][4]; int minw, maxw, minh, maxh; int find(int n) { int i; for(i=0; i<n; ++i) { if(minw==tab[i][0]&& maxw==tab[i][1]&& minh==tab[i][2]&& maxh==tab[i][3]) return 1; } return 0; } int main(void) { int t, n, i; scanf("%d", &t); while(t--) { scanf("%d", &n); minw=minh=2*1000*1000; maxw=maxh=-1; for(i=0; i<n; ++i) { scanf("%d%d%d%d",tab[i], tab[i]+1, tab[i]+2, tab[i]+3); minw=min(minw, tab[i][0]); maxw=max(maxw, tab[i][1]); minh=min(minh, tab[i][2]); maxh=max(maxh, tab[i][3]); } if(find(n)) puts("TAK"); else puts("NIE"); } return 0; } |