#include <bits/stdc++.h>
#define int long long
#define pll pair<int,int>
#define endl '\n'
using namespace std;
const int MOD2=998244353;
const int MOD1=1e9+7;
const int N=3e5+7;
const int LOG=20;
const long long inf=8e18+7;
vector<int>g[N];
int p[N],col[N];
int get(int x){
if(p[x]==x) return x;
return p[x]=get(p[x]);
}
int uni(int l,int r){
l=get(l);
r=get(r);
if(l==r) return 0;
if(col[l]<col[r])
swap(l,r);
p[r]=l;
col[l]+=col[r];
return 1;
}
signed main()
{
ios_base::sync_with_stdio(0),
cin.tie(0);
int n,m,q;
cin>> n>>m>>q;
for(int i=1;i<=n;i++){
p[i]=i;
col[i]=1;
}
for(int i=0;i<m;i++){
int l,r,x;
cin>> l>>r>>x;
uni(l,r);
}
while(q--){
int l,r,p;
cin>> l>>r>>p;
if(get(l)==get(r)){
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... |