#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; } |