#include <stdio.h>
using namespace std;
int main(int argc, char** argv) {
char amountOfAuctions, auctionID;
int amountOfMirrorCompanies, mirrorCompanyID;
int globallyMinWidth, globallyMaxWidth, globallyMinHeight, globallyMaxHeight;
int minWidth, maxWidth, minHeight, maxHeight;
bool dominantExists;
char boundariesReached;
bool wereBoundariesBroken;
scanf("%hhd",&amountOfAuctions);
for (auctionID = 0; auctionID < amountOfAuctions; auctionID++){
globallyMinWidth = 1000000000;
globallyMaxWidth = 1;
globallyMinHeight = 1000000000;
globallyMaxHeight = 1;
scanf("%d",&amountOfMirrorCompanies);
for(mirrorCompanyID = 0; mirrorCompanyID < amountOfMirrorCompanies; mirrorCompanyID++){
boundariesReached = 0;
wereBoundariesBroken = false;
scanf("%d %d %d %d",&minWidth,&maxWidth,&minHeight,&maxHeight);
if(minWidth <= globallyMinWidth){
boundariesReached++;
if(minWidth < globallyMinWidth){
wereBoundariesBroken = true;
globallyMinWidth = minWidth;
}
}
if(maxWidth >= globallyMaxWidth){
boundariesReached++;
if(maxWidth > globallyMaxWidth){
wereBoundariesBroken = true;
globallyMaxWidth = maxWidth;
}
}
if(minHeight <= globallyMinHeight){
boundariesReached++;
if(minHeight < globallyMinHeight){
wereBoundariesBroken = true;
globallyMinHeight = minHeight;
}
}
if(maxHeight >= globallyMaxHeight){
boundariesReached++;
if(maxHeight > globallyMaxHeight){
wereBoundariesBroken = true;
globallyMaxHeight = maxHeight;
}
}
if(boundariesReached > 0){
if(boundariesReached == 4){
dominantExists = true;
}
else if(wereBoundariesBroken){ //as boundaries reached < 4, for sure boundaries broken are also < 4
dominantExists = false;
}
}
}
if(dominantExists){
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 | #include <stdio.h> using namespace std; int main(int argc, char** argv) { char amountOfAuctions, auctionID; int amountOfMirrorCompanies, mirrorCompanyID; int globallyMinWidth, globallyMaxWidth, globallyMinHeight, globallyMaxHeight; int minWidth, maxWidth, minHeight, maxHeight; bool dominantExists; char boundariesReached; bool wereBoundariesBroken; scanf("%hhd",&amountOfAuctions); for (auctionID = 0; auctionID < amountOfAuctions; auctionID++){ globallyMinWidth = 1000000000; globallyMaxWidth = 1; globallyMinHeight = 1000000000; globallyMaxHeight = 1; scanf("%d",&amountOfMirrorCompanies); for(mirrorCompanyID = 0; mirrorCompanyID < amountOfMirrorCompanies; mirrorCompanyID++){ boundariesReached = 0; wereBoundariesBroken = false; scanf("%d %d %d %d",&minWidth,&maxWidth,&minHeight,&maxHeight); if(minWidth <= globallyMinWidth){ boundariesReached++; if(minWidth < globallyMinWidth){ wereBoundariesBroken = true; globallyMinWidth = minWidth; } } if(maxWidth >= globallyMaxWidth){ boundariesReached++; if(maxWidth > globallyMaxWidth){ wereBoundariesBroken = true; globallyMaxWidth = maxWidth; } } if(minHeight <= globallyMinHeight){ boundariesReached++; if(minHeight < globallyMinHeight){ wereBoundariesBroken = true; globallyMinHeight = minHeight; } } if(maxHeight >= globallyMaxHeight){ boundariesReached++; if(maxHeight > globallyMaxHeight){ wereBoundariesBroken = true; globallyMaxHeight = maxHeight; } } if(boundariesReached > 0){ if(boundariesReached == 4){ dominantExists = true; } else if(wereBoundariesBroken){ //as boundaries reached < 4, for sure boundaries broken are also < 4 dominantExists = false; } } } if(dominantExists){ printf("TAK\n"); } else{ printf("NIE\n"); } } return 0; } |
English