#include<cstdio> #include<stdio.h> #include<string.h> #define L 1000005 //int count_in[L]; //int count_out[L]; int count_res[L]; int main() { int t; int n; long long int l, a, b; scanf("%d", &t); for (int i = 0; i < t; i++) { scanf("%d", &n); long long int suma_in = 0; long long int suma_out = 0; // memset(count_in, 0, sizeof(int) * L); // memset(count_out, 0, sizeof(int) * L); memset(count_res, 0, sizeof(int) * L); for (int j = 0; j < n; j++) { scanf("%lld %lld %lld", &l, &a, &b); suma_in += l * a; suma_out += l * b; // count_in[a] += l; // count_out[b] += l; count_res[a] += l; count_res[b] -= l; // if (a < b) { // printf("podgrzac o %lld %lld\n", l, b - a); // } else { // printf("ochlodzic o %lld %lld\n", l, a - b); // } } if (suma_in != suma_out) { printf("NIE\n"); } else { int first_non_zero = 0; int last_non_zero = 0; // for (int k = 0; k < L; k++) { // if (count_res[k] != 0) { // printf("%d %d\n", k, count_res[k]); // } // } for (int k = 0; k < L; k++) { if (count_res[k] != 0) { first_non_zero = count_res[k]; break; } } for (int k = L - 1; k >= 0; k--) { if (count_res[k] != 0) { last_non_zero = count_res[k]; break; } } if (first_non_zero < 0 || last_non_zero < 0) { printf("NIE\n"); } else { printf("TAK\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 76 77 78 79 80 81 82 83 84 85 86 | #include<cstdio> #include<stdio.h> #include<string.h> #define L 1000005 //int count_in[L]; //int count_out[L]; int count_res[L]; int main() { int t; int n; long long int l, a, b; scanf("%d", &t); for (int i = 0; i < t; i++) { scanf("%d", &n); long long int suma_in = 0; long long int suma_out = 0; // memset(count_in, 0, sizeof(int) * L); // memset(count_out, 0, sizeof(int) * L); memset(count_res, 0, sizeof(int) * L); for (int j = 0; j < n; j++) { scanf("%lld %lld %lld", &l, &a, &b); suma_in += l * a; suma_out += l * b; // count_in[a] += l; // count_out[b] += l; count_res[a] += l; count_res[b] -= l; // if (a < b) { // printf("podgrzac o %lld %lld\n", l, b - a); // } else { // printf("ochlodzic o %lld %lld\n", l, a - b); // } } if (suma_in != suma_out) { printf("NIE\n"); } else { int first_non_zero = 0; int last_non_zero = 0; // for (int k = 0; k < L; k++) { // if (count_res[k] != 0) { // printf("%d %d\n", k, count_res[k]); // } // } for (int k = 0; k < L; k++) { if (count_res[k] != 0) { first_non_zero = count_res[k]; break; } } for (int k = L - 1; k >= 0; k--) { if (count_res[k] != 0) { last_non_zero = count_res[k]; break; } } if (first_non_zero < 0 || last_non_zero < 0) { printf("NIE\n"); } else { printf("TAK\n"); } } } return 0; } |