#include <stdio.h> #include <stdlib.h> #define ISNUMERIC(x) (x >= '0' && x <= '9') int getInt(){ static char num[12]; int n = 0; int c; for(c = getchar(); !ISNUMERIC(c); c = getchar()); num[n++] = c; for(c = getchar(); ISNUMERIC(c); c = getchar()){ num[n++] = (char) c; } num[n] = 0; return atoi(num); } int main(int argc, char **argv) { int n; bool maj = true, _maj; bool tmaj; bool insidew, insideh; int minw, maxw, minh, maxh; // min i max int tminw, tmaxw, tminh, tmaxh; // temp min i max n = getInt(); for(int i=n; i>0; --i){ n = getInt(); minw = getInt(); maxw = getInt(); minh = getInt(); maxh = getInt(); for(int j=n - 1;j>0; --j){ tminw = getInt(); tmaxw = getInt(); tminh = getInt(); tmaxh = getInt(); tmaj = false; _maj = false; insidew = ( tminw >= minw && tmaxw <= maxw ); insideh = ( tminh >= minh && tmaxh <= maxh ); //width if(tminw <= minw){ minw = tminw; if(tmaxw >= maxw){ // Majoryzuje w tmaj = true; maxw = tmaxw; } } else { if(tmaxw > maxw){ maxw = tmaxw; } } //height if(tminh <= minh){ minh = tminh; if(tmaxh >= maxh){ // Majoryzuje h if(tmaj) _maj = true; maxh = tmaxh; } } else { if(tmaxh > maxh){ maxh = tmaxh; } } if( (!(insidew && insideh) || !maj) ){ if(_maj) maj = true; else maj = false; } } puts((maj ? "TAK" : "NIE")); } }
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 | #include <stdio.h> #include <stdlib.h> #define ISNUMERIC(x) (x >= '0' && x <= '9') int getInt(){ static char num[12]; int n = 0; int c; for(c = getchar(); !ISNUMERIC(c); c = getchar()); num[n++] = c; for(c = getchar(); ISNUMERIC(c); c = getchar()){ num[n++] = (char) c; } num[n] = 0; return atoi(num); } int main(int argc, char **argv) { int n; bool maj = true, _maj; bool tmaj; bool insidew, insideh; int minw, maxw, minh, maxh; // min i max int tminw, tmaxw, tminh, tmaxh; // temp min i max n = getInt(); for(int i=n; i>0; --i){ n = getInt(); minw = getInt(); maxw = getInt(); minh = getInt(); maxh = getInt(); for(int j=n - 1;j>0; --j){ tminw = getInt(); tmaxw = getInt(); tminh = getInt(); tmaxh = getInt(); tmaj = false; _maj = false; insidew = ( tminw >= minw && tmaxw <= maxw ); insideh = ( tminh >= minh && tmaxh <= maxh ); //width if(tminw <= minw){ minw = tminw; if(tmaxw >= maxw){ // Majoryzuje w tmaj = true; maxw = tmaxw; } } else { if(tmaxw > maxw){ maxw = tmaxw; } } //height if(tminh <= minh){ minh = tminh; if(tmaxh >= maxh){ // Majoryzuje h if(tmaj) _maj = true; maxh = tmaxh; } } else { if(tmaxh > maxh){ maxh = tmaxh; } } if( (!(insidew && insideh) || !maj) ){ if(_maj) maj = true; else maj = false; } } puts((maj ? "TAK" : "NIE")); } } |