#include <iostream> #include <algorithm> #define ff first #define ss second using namespace std; int t,n; int c[100007]; pair<int,int> a[100007], b[100007]; long long sa,sb,dplus,dminus; bool ok; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>t; for (int ii=0; ii<t; ii++) { cin>>n; for (int i=0; i<n; i++) { cin>>c[i]>>a[i].ff>>b[i].ff; a[i].ss=c[i]; b[i].ss=c[i]; sa+=(long long)c[i]*(long long)a[i].ff; sb+=(long long)c[i]*(long long)b[i].ff; if (a[i].ff>b[i].ff) dminus+=(long long)(a[i].ff-b[i].ff)*(long long)c[i]; else dplus+=(long long)(b[i].ff-a[i].ff)*(long long)c[i]; } if ( sa==sb && dplus==dminus ) { sort(a,a+n); sort(b,b+n); ok=1; for (int i=0; i<n; i++) { if (a[i].ff<b[i].ff || (a[i].ff==b[i].ff && a[i].ss>b[i].ss)) break; else if (a[i].ff==b[i].ff && a[i].ss==b[i].ss) continue; else { //cerr<<"."; ok=0; break; } } if (ok) { for (int i=n-1; i>=0; i--) { if (a[i].ff>b[i].ff || (a[i].ff==b[i].ff && a[i].ss>b[i].ss)) break; else if (a[i].ff==b[i].ff && a[i].ss==b[i].ss) continue; else { //cerr<<"*"; ok=0; break; } } } if (ok) cout<<"TAK\n"; else cout<<"NIE\n"; } else cout<<"NIE\n"; //cerr<<sa<<" "<<sb<<" "<<dplus<<" "<<dminus<<"\n"; sa=sb=dplus=dminus=0; } 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 | #include <iostream> #include <algorithm> #define ff first #define ss second using namespace std; int t,n; int c[100007]; pair<int,int> a[100007], b[100007]; long long sa,sb,dplus,dminus; bool ok; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>t; for (int ii=0; ii<t; ii++) { cin>>n; for (int i=0; i<n; i++) { cin>>c[i]>>a[i].ff>>b[i].ff; a[i].ss=c[i]; b[i].ss=c[i]; sa+=(long long)c[i]*(long long)a[i].ff; sb+=(long long)c[i]*(long long)b[i].ff; if (a[i].ff>b[i].ff) dminus+=(long long)(a[i].ff-b[i].ff)*(long long)c[i]; else dplus+=(long long)(b[i].ff-a[i].ff)*(long long)c[i]; } if ( sa==sb && dplus==dminus ) { sort(a,a+n); sort(b,b+n); ok=1; for (int i=0; i<n; i++) { if (a[i].ff<b[i].ff || (a[i].ff==b[i].ff && a[i].ss>b[i].ss)) break; else if (a[i].ff==b[i].ff && a[i].ss==b[i].ss) continue; else { //cerr<<"."; ok=0; break; } } if (ok) { for (int i=n-1; i>=0; i--) { if (a[i].ff>b[i].ff || (a[i].ff==b[i].ff && a[i].ss>b[i].ss)) break; else if (a[i].ff==b[i].ff && a[i].ss==b[i].ss) continue; else { //cerr<<"*"; ok=0; break; } } } if (ok) cout<<"TAK\n"; else cout<<"NIE\n"; } else cout<<"NIE\n"; //cerr<<sa<<" "<<sb<<" "<<dplus<<" "<<dminus<<"\n"; sa=sb=dplus=dminus=0; } return 0; } |