#include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <set> #include <map> using namespace std; #define FOR(i,a,b) for(int i=(a); i<(b); ++i) #define REP(i,n) FOR(i,1,(n)+1) typedef vector<int> vi; #define pb push_back typedef pair<int,int> pii; #define mp make_pair #define st first #define nd second typedef long long ll; #define INF 1000000001 #define sz size() #define VAR(n,v) typeof(v) n=(v) #define ALL(t) t.begin(),t.end() #define SC(a) scanf("%d", &a) #define GET(a) int a; SC(a) #define ISDEBUG 1 #define dprintf(...) if(ISDEBUG) \ {printf("\033[31m"); printf(__VA_ARGS__); printf("\033[0m");} template <class It> void dptab(It b, It e, const char* f="%d ") { if(ISDEBUG) { for(It it=b; it!=e; ++it) dprintf(f, *it); dprintf("\n"); }} struct mirror { int w1, w2, h1, h2; bool operator==(const mirror &m) { return w1==m.w1 && w2==m.w2 && h1==m.h1 && h2==m.h2; } } m, major; int main() { GET(t); while(t--) { GET(n); vector<mirror> mirrors; major.w1 = INF; major.w2 = 0; major.h1 = INF; major.h2 = 0; FOR(i, 0, n) { SC(m.w1); SC(m.w2); SC(m.h1); SC(m.h2); mirrors.pb(m); major.w1 = min(major.w1, m.w1); major.w2 = max(major.w2, m.w2); major.h1 = min(major.h1, m.h1); major.h2 = max(major.h2, m.h2); } bool ok = false; FOR(i, 0, n) { m = mirrors[i]; if(m==major) { ok = true; break; } } if(ok) 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 | #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <set> #include <map> using namespace std; #define FOR(i,a,b) for(int i=(a); i<(b); ++i) #define REP(i,n) FOR(i,1,(n)+1) typedef vector<int> vi; #define pb push_back typedef pair<int,int> pii; #define mp make_pair #define st first #define nd second typedef long long ll; #define INF 1000000001 #define sz size() #define VAR(n,v) typeof(v) n=(v) #define ALL(t) t.begin(),t.end() #define SC(a) scanf("%d", &a) #define GET(a) int a; SC(a) #define ISDEBUG 1 #define dprintf(...) if(ISDEBUG) \ {printf("\033[31m"); printf(__VA_ARGS__); printf("\033[0m");} template <class It> void dptab(It b, It e, const char* f="%d ") { if(ISDEBUG) { for(It it=b; it!=e; ++it) dprintf(f, *it); dprintf("\n"); }} struct mirror { int w1, w2, h1, h2; bool operator==(const mirror &m) { return w1==m.w1 && w2==m.w2 && h1==m.h1 && h2==m.h2; } } m, major; int main() { GET(t); while(t--) { GET(n); vector<mirror> mirrors; major.w1 = INF; major.w2 = 0; major.h1 = INF; major.h2 = 0; FOR(i, 0, n) { SC(m.w1); SC(m.w2); SC(m.h1); SC(m.h2); mirrors.pb(m); major.w1 = min(major.w1, m.w1); major.w2 = max(major.w2, m.w2); major.h1 = min(major.h1, m.h1); major.h2 = max(major.h2, m.h2); } bool ok = false; FOR(i, 0, n) { m = mirrors[i]; if(m==major) { ok = true; break; } } if(ok) printf("TAK\n"); else printf("NIE\n"); } return 0; } |