#include <stdio.h>
#include <stdlib.h>
int main()
{
int dataSets=0;
int set=0;
int offerents=0;
int i=0;
int w1=0,w2=0,h1=0,h2=0;
int minw, maxw, minh, maxh;
char majorant;
int oMinw, oMaxw, oMinh, oMaxh;
int mMinw, mMaxw, mMinh, mMaxh;
scanf("%i", &dataSets);
for (set = 0; set < dataSets; ++set) {
scanf("%i", &offerents);
for (i = 0; i < offerents; ++i) {
scanf("%i %i %i %i", &w1, &w2, &h1, &h2);
if (i == 0) {
majorant = 1;
oMinw = w1;
oMaxw = w2;
oMinh = h1;
oMaxh = h2;
mMinw = w1;
mMaxw = w2;
mMinh = h1;
mMaxh = h2;
}
if (w1 < oMinw) {
oMinw = w1;
}
if (w2 > oMaxw) {
oMaxw = w2;
}
if (h1 < oMinh) {
oMinh = h1;
}
if (h2 > oMaxh) {
oMaxh = h2;
}
if (majorant == 1) {
if (oMinw < mMinw || mMaxw < oMaxw || oMinh < mMinh || mMaxh < oMaxh) {
// obecny majorant nie obejmuje juz obrysu
majorant = 0;
}
}
if (w1 <= oMinw && oMaxw <= w2 && h1 <= oMinh && oMaxh <= h2) {
// obecny dostawca jest kandydatem na majoranta
if (majorant == 1) {
//istnieje wczesniejsy majorant, sprawdzamy, czy nowy jest lepszy lub taki sam
if (w1 <= mMinw && mMaxw <= w2 && h1 <= mMinh && mMaxh <= h2) {
//obecny jest lepszy!
mMinw = w1;
mMaxw = w2;
mMinh = h1;
mMaxh = h2;
}
} else {
// nie bylo wczesniej majoranta wiec obecny nim zostaje
mMinw = w1;
mMaxw = w2;
mMinh = h1;
mMaxh = h2;
majorant = 1;
}
}
}
if (majorant == 1) {
printf("TAK\n");
} else {
printf("NIE\n");
}
}
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 | #include <stdio.h> #include <stdlib.h> int main() { int dataSets=0; int set=0; int offerents=0; int i=0; int w1=0,w2=0,h1=0,h2=0; int minw, maxw, minh, maxh; char majorant; int oMinw, oMaxw, oMinh, oMaxh; int mMinw, mMaxw, mMinh, mMaxh; scanf("%i", &dataSets); for (set = 0; set < dataSets; ++set) { scanf("%i", &offerents); for (i = 0; i < offerents; ++i) { scanf("%i %i %i %i", &w1, &w2, &h1, &h2); if (i == 0) { majorant = 1; oMinw = w1; oMaxw = w2; oMinh = h1; oMaxh = h2; mMinw = w1; mMaxw = w2; mMinh = h1; mMaxh = h2; } if (w1 < oMinw) { oMinw = w1; } if (w2 > oMaxw) { oMaxw = w2; } if (h1 < oMinh) { oMinh = h1; } if (h2 > oMaxh) { oMaxh = h2; } if (majorant == 1) { if (oMinw < mMinw || mMaxw < oMaxw || oMinh < mMinh || mMaxh < oMaxh) { // obecny majorant nie obejmuje juz obrysu majorant = 0; } } if (w1 <= oMinw && oMaxw <= w2 && h1 <= oMinh && oMaxh <= h2) { // obecny dostawca jest kandydatem na majoranta if (majorant == 1) { //istnieje wczesniejsy majorant, sprawdzamy, czy nowy jest lepszy lub taki sam if (w1 <= mMinw && mMaxw <= w2 && h1 <= mMinh && mMaxh <= h2) { //obecny jest lepszy! mMinw = w1; mMaxw = w2; mMinh = h1; mMaxh = h2; } } else { // nie bylo wczesniej majoranta wiec obecny nim zostaje mMinw = w1; mMaxw = w2; mMinh = h1; mMaxh = h2; majorant = 1; } } } if (majorant == 1) { printf("TAK\n"); } else { printf("NIE\n"); } } return 0; } |
English