// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
#define int long long
int p[100000];
int dis[1000000] = {0};
int find(int x){
if(p[x]==x)return x;
return p[x] = find(p[x]);
}
void unite(int a, int b, int d){
int pa = find(a);
int pb = find(b);
if(pa!=pb){
p[pb] = pa;
}
dis[pb]=d+dis[a];
}
signed main() {
int n, a, b; cin >> n >> a >> b;
for(int i = 1; i <=n; i++)p[i]=i;
for(int i = 0; i < a; i++){
int a, b, d; cin >> a >> b >> d;
unite(a, b, d);
}
for(int i = 0; i < b; i++){
int a, b, d; cin >> a >> b >> d;
if(find(a)!=find(b) or dis[b] >d){
cout << "NE" << endl;
}
else{
cout << "TAIP";
}
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |