#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")); } } |
English