#include<stdio.h> #include<algorithm> #include<vector> #define ff first #define ss second using namespace std; vector <pair<long long int,long long int>> v,vv; int main() { long long int n,m,i,j,a,b,c,s,ss,l_u,ll_u,l_l,ll_l,flag=0; scanf("%lld",&n); for(i=0;i<n;++i) { flag=0; l_u=0; ll_u=0; l_l=0; ll_l=0; s=0; ss=0; v.clear(); vv.clear(); scanf("%lld",&m); for(j=0;j<m;++j) { scanf("%lld%lld%lld",&a,&b,&c); s+=a*b; ss+=a*c; v.push_back(make_pair(b,a)); vv.push_back(make_pair(c,a)); } sort(v.begin(),v.end()); sort(vv.begin(),vv.end()); for(j=0;j<v.size();++j) { if(v[j].ff==v[0].ff) l_l+=v[j].ss; if(v[j].ff==v[v.size()-1].ff) l_u+=v[j].ss; if(vv[j].ff==vv[vv.size()-1].ff) ll_u+=vv[j].ss; if(vv[j].ff==vv[0].ff) ll_l+=vv[j].ss; } // printf("%lld %lld\n",s,ss); // printf("%lld %lld %lld %lld\n",l_u,l_l,ll_u,ll_l); // printf("%lld %lld %lld %lld\n",v[0].ff,v[v.size()-1].ff,vv[0].ff,vv[vv.size()-1].ff); if(s!=ss) {flag=1;} if(v[0].ff>vv[0].ff) {flag=2;} if(v[v.size()-1]<vv[vv.size()-1]) {flag=3;}; if(v[0].ff==vv[0].ff) { if(l_l<ll_l) { flag=4; } } if(vv[vv.size()-1].ff==v[v.size()-1].ff) { if(l_u<ll_u) { flag=5; } } if(flag) printf("NIE\n"); else printf("TAK\n"); } }
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 | #include<stdio.h> #include<algorithm> #include<vector> #define ff first #define ss second using namespace std; vector <pair<long long int,long long int>> v,vv; int main() { long long int n,m,i,j,a,b,c,s,ss,l_u,ll_u,l_l,ll_l,flag=0; scanf("%lld",&n); for(i=0;i<n;++i) { flag=0; l_u=0; ll_u=0; l_l=0; ll_l=0; s=0; ss=0; v.clear(); vv.clear(); scanf("%lld",&m); for(j=0;j<m;++j) { scanf("%lld%lld%lld",&a,&b,&c); s+=a*b; ss+=a*c; v.push_back(make_pair(b,a)); vv.push_back(make_pair(c,a)); } sort(v.begin(),v.end()); sort(vv.begin(),vv.end()); for(j=0;j<v.size();++j) { if(v[j].ff==v[0].ff) l_l+=v[j].ss; if(v[j].ff==v[v.size()-1].ff) l_u+=v[j].ss; if(vv[j].ff==vv[vv.size()-1].ff) ll_u+=vv[j].ss; if(vv[j].ff==vv[0].ff) ll_l+=vv[j].ss; } // printf("%lld %lld\n",s,ss); // printf("%lld %lld %lld %lld\n",l_u,l_l,ll_u,ll_l); // printf("%lld %lld %lld %lld\n",v[0].ff,v[v.size()-1].ff,vv[0].ff,vv[vv.size()-1].ff); if(s!=ss) {flag=1;} if(v[0].ff>vv[0].ff) {flag=2;} if(v[v.size()-1]<vv[vv.size()-1]) {flag=3;}; if(v[0].ff==vv[0].ff) { if(l_l<ll_l) { flag=4; } } if(vv[vv.size()-1].ff==v[v.size()-1].ff) { if(l_u<ll_u) { flag=5; } } if(flag) printf("NIE\n"); else printf("TAK\n"); } } |