#include <stdio.h> short int t; // przypadki testowe long long int n; // liczba uczestnikow przetargu int przetargowcy[100000][4]; // przetargowcy i ich w1,w2... bool maj_prz[100000][4]; char *tak = "TAK"; char *nie = "NIE"; int main() { long long int wymiary; long long int min_w = 9999999999, min_h =9999999999, max_w =0, max_h =0 ; for(int i = 0; i<= 99999; i++) { for(int a = 0; a< 4; a++) maj_prz[i][a] = true; } scanf("%i",&t); bool *answers = new bool[t]; for(int q = 0; q<t; q++)answers[q] = false; for(int i = 0; i< t; i++) { scanf("%ill",&n); for(int k = 0; k< n; k++) { scanf("%ill",&wymiary); przetargowcy[k][0] = wymiary; scanf("%ill",&wymiary); przetargowcy[k][1] = wymiary; scanf("%ill",&wymiary); przetargowcy[k][2] = wymiary; scanf("%ill",&wymiary); przetargowcy[k][3] = wymiary; }//for k - zbieramy wymiary for(int k = 0; k< n; k++) { for(int a = 0; a<n;a++) { if(a != k) { if(przetargowcy[k][0] > przetargowcy[a][0]) { maj_prz[k][0] = false; break; } if(przetargowcy[k][1] < przetargowcy[a][1]) { maj_prz[k][1] = false; break; } if(przetargowcy[k][2] > przetargowcy[a][2]) { maj_prz[k][2] = false; break; } if(przetargowcy[k][3] < przetargowcy[a][3]) { maj_prz[k][3] = false; break; } } }// for a - tym porownuje ze wszystkimi innymi elementami tablicy }//for k for(int k = 0; k<n;k++) { if(maj_prz[k][0] && maj_prz[k][1] && maj_prz[k][2] && maj_prz[k][3]) { answers[i] = 1; } else { for(int a = 0; a<4;a++) maj_prz[k][a] = true; } }// zerowanie }// for i - testy for(int i =0; i<t; i++) { if(answers[i]) printf("%s\n",tak); else printf("%s\n",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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | #include <stdio.h> short int t; // przypadki testowe long long int n; // liczba uczestnikow przetargu int przetargowcy[100000][4]; // przetargowcy i ich w1,w2... bool maj_prz[100000][4]; char *tak = "TAK"; char *nie = "NIE"; int main() { long long int wymiary; long long int min_w = 9999999999, min_h =9999999999, max_w =0, max_h =0 ; for(int i = 0; i<= 99999; i++) { for(int a = 0; a< 4; a++) maj_prz[i][a] = true; } scanf("%i",&t); bool *answers = new bool[t]; for(int q = 0; q<t; q++)answers[q] = false; for(int i = 0; i< t; i++) { scanf("%ill",&n); for(int k = 0; k< n; k++) { scanf("%ill",&wymiary); przetargowcy[k][0] = wymiary; scanf("%ill",&wymiary); przetargowcy[k][1] = wymiary; scanf("%ill",&wymiary); przetargowcy[k][2] = wymiary; scanf("%ill",&wymiary); przetargowcy[k][3] = wymiary; }//for k - zbieramy wymiary for(int k = 0; k< n; k++) { for(int a = 0; a<n;a++) { if(a != k) { if(przetargowcy[k][0] > przetargowcy[a][0]) { maj_prz[k][0] = false; break; } if(przetargowcy[k][1] < przetargowcy[a][1]) { maj_prz[k][1] = false; break; } if(przetargowcy[k][2] > przetargowcy[a][2]) { maj_prz[k][2] = false; break; } if(przetargowcy[k][3] < przetargowcy[a][3]) { maj_prz[k][3] = false; break; } } }// for a - tym porownuje ze wszystkimi innymi elementami tablicy }//for k for(int k = 0; k<n;k++) { if(maj_prz[k][0] && maj_prz[k][1] && maj_prz[k][2] && maj_prz[k][3]) { answers[i] = 1; } else { for(int a = 0; a<4;a++) maj_prz[k][a] = true; } }// zerowanie }// for i - testy for(int i =0; i<t; i++) { if(answers[i]) printf("%s\n",tak); else printf("%s\n",nie); } return 0; } |