#include <algorithm> #include <array> #include <cassert> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <exception> #include <fstream> #include <functional> #include <iostream> #include <map> #include <numeric> #include <regex> #include <set> #include <sstream> #include <stdexcept> #include <string> #include <tuple> #include <typeinfo> #include <vector> #include <unordered_set> #include <unordered_map> #include <bitset> using namespace std; #define rep(i,b) for(auto i=(0);i<(b);++i) #define fo(i,a,b) for(auto i=(a);i<=(b);++i) #define ford(i,a,b) for(auto i=(a);i>=(b);--i) #define fore(a,b) for(auto &a:(b)) #define v vector #define pb push_back #define all(x) (x).begin(),(x).end() #define clr(x,a) memset(x,a,sizeof(x)) template <typename T, size_t N> struct ma : array<T,N> { T& operator[](size_t n) { #ifdef DEBUG assert(n < N); #endif return (*static_cast<array<T,N>*>(this))[n]; } } ; typedef long long ll; typedef long double ld; typedef vector<int> vi; typedef vector<string> vs; typedef ostringstream oss; typedef istringstream iss; template<class T> string to_str(const T &a) { oss os; os << a; return os.str(); } template<> string to_str<ld>(const ld& a) { oss os; os.precision(10); os.setf(ios::fixed); os << a; return os.str(); } template<class T> T from_str(const string &s) { iss is; T val; is >> val; return val; } int cond = (ll)1; #define db(x...) { if (cond > 0) { cond--; rep (xxx, 1) cerr << __LINE__ << " " << #x << " " << x << endl; cerr.flush(); } } int n; array<array<int, 4>, (int)1e5+11> data; void solve() { scanf("%d", &n); rep (i, n) rep (j, 4) scanf("%d", &data[i][j]); array<int, 4> wyn = data[0]; rep (i, n) { wyn[0] = min(wyn[0], data[i][0]); wyn[1] = max(wyn[1], data[i][1]); wyn[2] = min(wyn[2], data[i][2]); wyn[3] = max(wyn[3], data[i][3]); } if (count(data.begin(), data.begin() + n, wyn) >= 1) cout << "TAK\n"; else cout << "NIE\n"; } int main(int argc, char ** argv) { // freopen("../1.in","r",stdin); // freopen("../2.in","r",stdin); // freopen("../3.in","r",stdin); // freopen("../A-small.in","r",stdin); freopen("../A-small.out","w",stdout); // freopen("../A-small-attempt0.in","r",stdin);freopen("../A-small-attempt0.out","w",stdout); // freopen("../A-small-attempt1.in","r",stdin);freopen("../A-small-attempt1.out","w",stdout); // freopen("../A-small-attempt2.in","r",stdin);freopen("../A-small-attempt2.out","w",stdout); // freopen("../A-large.in","r",stdin); freopen("../A-large.out","w",stdout) int t = 1; scanf("%d", &t); fo (i, 1, argc - 1) { if (string(argv[i]) == "q") cond = 1000; if (string(argv[i]) == "all") t = 1000; } fo (i, 1, t) { solve(); } 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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | #include <algorithm> #include <array> #include <cassert> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <exception> #include <fstream> #include <functional> #include <iostream> #include <map> #include <numeric> #include <regex> #include <set> #include <sstream> #include <stdexcept> #include <string> #include <tuple> #include <typeinfo> #include <vector> #include <unordered_set> #include <unordered_map> #include <bitset> using namespace std; #define rep(i,b) for(auto i=(0);i<(b);++i) #define fo(i,a,b) for(auto i=(a);i<=(b);++i) #define ford(i,a,b) for(auto i=(a);i>=(b);--i) #define fore(a,b) for(auto &a:(b)) #define v vector #define pb push_back #define all(x) (x).begin(),(x).end() #define clr(x,a) memset(x,a,sizeof(x)) template <typename T, size_t N> struct ma : array<T,N> { T& operator[](size_t n) { #ifdef DEBUG assert(n < N); #endif return (*static_cast<array<T,N>*>(this))[n]; } } ; typedef long long ll; typedef long double ld; typedef vector<int> vi; typedef vector<string> vs; typedef ostringstream oss; typedef istringstream iss; template<class T> string to_str(const T &a) { oss os; os << a; return os.str(); } template<> string to_str<ld>(const ld& a) { oss os; os.precision(10); os.setf(ios::fixed); os << a; return os.str(); } template<class T> T from_str(const string &s) { iss is; T val; is >> val; return val; } int cond = (ll)1; #define db(x...) { if (cond > 0) { cond--; rep (xxx, 1) cerr << __LINE__ << " " << #x << " " << x << endl; cerr.flush(); } } int n; array<array<int, 4>, (int)1e5+11> data; void solve() { scanf("%d", &n); rep (i, n) rep (j, 4) scanf("%d", &data[i][j]); array<int, 4> wyn = data[0]; rep (i, n) { wyn[0] = min(wyn[0], data[i][0]); wyn[1] = max(wyn[1], data[i][1]); wyn[2] = min(wyn[2], data[i][2]); wyn[3] = max(wyn[3], data[i][3]); } if (count(data.begin(), data.begin() + n, wyn) >= 1) cout << "TAK\n"; else cout << "NIE\n"; } int main(int argc, char ** argv) { // freopen("../1.in","r",stdin); // freopen("../2.in","r",stdin); // freopen("../3.in","r",stdin); // freopen("../A-small.in","r",stdin); freopen("../A-small.out","w",stdout); // freopen("../A-small-attempt0.in","r",stdin);freopen("../A-small-attempt0.out","w",stdout); // freopen("../A-small-attempt1.in","r",stdin);freopen("../A-small-attempt1.out","w",stdout); // freopen("../A-small-attempt2.in","r",stdin);freopen("../A-small-attempt2.out","w",stdout); // freopen("../A-large.in","r",stdin); freopen("../A-large.out","w",stdout) int t = 1; scanf("%d", &t); fo (i, 1, argc - 1) { if (string(argv[i]) == "q") cond = 1000; if (string(argv[i]) == "all") t = 1000; } fo (i, 1, t) { solve(); } return 0; } |