#include <stdio.h> #define NO 0 #define YES 1 #define MIN(a,b) (((a)<(b))?(a):(b)) #define MAX(a,b) (((a)>(b))?(a):(b)) int main(void) { int t; /* ilość testów 1-10 */ long int n; /* 2-100000 liczba zakładów */ long int w1, w2, h1, h2; /* rozmiar 1-10^9 */ long int wm1, wm2, hm1, hm2; int major; scanf("%d\n", &t); //kolejny test while(t--) { wm1 = 1000000000L; wm2 = 1L; hm1 = 1000000000L; hm2 = 1L; major = NO; scanf("%ld\n", &n); //linie zakładów while(n--) { scanf("%ld %ld %ld %ld\n", &w1, &w2, &h1, &h2 ); if( w1 <= wm1 && w2 >= wm2 && h1 <= hm1 && h2 >= hm2 ) //zakład mający największy asortyment { wm1 = w1; wm2 = w2; hm1 = h1; hm2 = h2; major = YES; } else if( w1 >= wm1 && w2 <= wm2 && h1 >= hm1 && h2 <= hm2 ) //zakład mający asortyment mieszczący sie w innych ; else //asortyment częściowo wykraczający poza dotychczasowe { wm1 = MIN(w1,wm1); wm2 = MAX(w2,wm2); hm1 = MIN(h1,hm1); hm2 = MAX(h2,hm2); major = NO; } } printf("%s\n", major?"TAK":"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 | #include <stdio.h> #define NO 0 #define YES 1 #define MIN(a,b) (((a)<(b))?(a):(b)) #define MAX(a,b) (((a)>(b))?(a):(b)) int main(void) { int t; /* ilość testów 1-10 */ long int n; /* 2-100000 liczba zakładów */ long int w1, w2, h1, h2; /* rozmiar 1-10^9 */ long int wm1, wm2, hm1, hm2; int major; scanf("%d\n", &t); //kolejny test while(t--) { wm1 = 1000000000L; wm2 = 1L; hm1 = 1000000000L; hm2 = 1L; major = NO; scanf("%ld\n", &n); //linie zakładów while(n--) { scanf("%ld %ld %ld %ld\n", &w1, &w2, &h1, &h2 ); if( w1 <= wm1 && w2 >= wm2 && h1 <= hm1 && h2 >= hm2 ) //zakład mający największy asortyment { wm1 = w1; wm2 = w2; hm1 = h1; hm2 = h2; major = YES; } else if( w1 >= wm1 && w2 <= wm2 && h1 >= hm1 && h2 <= hm2 ) //zakład mający asortyment mieszczący sie w innych ; else //asortyment częściowo wykraczający poza dotychczasowe { wm1 = MIN(w1,wm1); wm2 = MAX(w2,wm2); hm1 = MIN(h1,hm1); hm2 = MAX(h2,hm2); major = NO; } } printf("%s\n", major?"TAK":"NIE"); } return 0; } |