#include<bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 1e16;
int n, m, u;
vector<vector<pair<int, int>>> adj;
vector<int> p, siz;
int find(int x){
int xx=x;
while(p[x]!=x)x=p[x];
p[xx]=x;
return x;
}
void unite(int a, int b){
a=find(a);
b=find(b);
if(siz[a]> siz[b])swap(a, b);
p[b]=a;
siz[a]+=siz[b];
}
bool same(int a, int b){
return find(a)==find(b);
}
signed main(){
cin >> n >> m >> u;
adj.resize(n);
p.resize(n); siz.resize(n, 1);
for(int i = 0; i < n; i++){
p[i]=i;
}
int t;
for(int i = 0; i < m; i++){
int a, b;
cin >> a >> b >> t; a--; b--;
adj[a].push_back({b, t});
adj[b].push_back({a, t});
unite(a, b);
}
for(int o = 0; o < u; o++){
int a, b, p;
cin >> a >> b >> p; a--; b--;
if(t <= p && same(a, b)){
cout << "TAIP\n";
}
else{
cout << "NE\n";
}
}
}
# | 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... |