#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
int main() {
int t;
cin>>t;
for(int i = 0; i < t; i++) {
bool res = true;
vector <pii> befA;
vector <pii> befB;
vector <pii> aftA;
vector <pii> aftB;
int n,w;
cin>>n>>w;
for(int j = 0; j < n; j++) {
int x1,x2,y1,y2;
cin>>x1>>x2>>y1>>y2;
befA.push_back(pii(x1,x2));
befB.push_back(pii(y1,y2));
}
for(int j = 0; j < n; j++) {
int x1,x2,y1,y2;
cin>>x1>>x2>>y1>>y2;
aftA.push_back(pii(x1,x2));
aftB.push_back(pii(y1,y2));
}
for(int j = 0; j < n; j++) {
// cout<<j<<"!"<<endl;
// cout<<w-abs(befA[j].second-befB[j].second)<<endl;
if(!res) break;
for(int k = j+1; k < n; k++) {
if(befB[j].first <= befA[k].first && aftA[j].first >= aftB[k].first) {
if( w-abs(befA[j].second-befB[j].second) < abs(befA[k].second-befB[k].second) ) {
res = false;
break;
}
} else if(befA[j].first >= befB[k].first && aftB[j].first <= aftA[k].first) {
if( w-abs(befA[j].second-befB[j].second) < abs(befA[k].second-befB[k].second) ) {
res = false;
break;
}
}
}
}
if(res) cout<<"TAK"<<endl;
else cout<<"NIE"<<endl;
}
}
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 | #include <bits/stdc++.h> using namespace std; typedef pair<int,int> pii; int main() { int t; cin>>t; for(int i = 0; i < t; i++) { bool res = true; vector <pii> befA; vector <pii> befB; vector <pii> aftA; vector <pii> aftB; int n,w; cin>>n>>w; for(int j = 0; j < n; j++) { int x1,x2,y1,y2; cin>>x1>>x2>>y1>>y2; befA.push_back(pii(x1,x2)); befB.push_back(pii(y1,y2)); } for(int j = 0; j < n; j++) { int x1,x2,y1,y2; cin>>x1>>x2>>y1>>y2; aftA.push_back(pii(x1,x2)); aftB.push_back(pii(y1,y2)); } for(int j = 0; j < n; j++) { // cout<<j<<"!"<<endl; // cout<<w-abs(befA[j].second-befB[j].second)<<endl; if(!res) break; for(int k = j+1; k < n; k++) { if(befB[j].first <= befA[k].first && aftA[j].first >= aftB[k].first) { if( w-abs(befA[j].second-befB[j].second) < abs(befA[k].second-befB[k].second) ) { res = false; break; } } else if(befA[j].first >= befB[k].first && aftB[j].first <= aftA[k].first) { if( w-abs(befA[j].second-befB[j].second) < abs(befA[k].second-befB[k].second) ) { res = false; break; } } } } if(res) cout<<"TAK"<<endl; else cout<<"NIE"<<endl; } } |
English