1 #include<iostream> 2 #include<math.h> 3 using namespace std; 4 int a[200]; 5 int map[200][200]; 6 int find(int t) 7 { 8 if(t!=a[t]) 9 { 10 a[t]=find(a[t]); 11 } 12 return a[t]; 13 } 14 int main() 15 { 16 int n,m,k,i; 17 cin>>n>>m>>k; 18 for(i=1;i<=n;i++) 19 a[i]=i; 20 int x,y,z; 21 for(i=1;i<=m;i++) 22 { 23 cin>>x>>y>>z; 24 map[x][y]=map[y][x]=z; 25 if(z==1) 26 { 27 x=find(x); 28 y=find(y); 29 if(x!=y) 30 a[x]=y; 31 } 32 } 33 int t1,t2; 34 for(i=1;i<=k;i++) 35 { 36 cin>>t1>>t2; 37 if(map[t1][t2]==1) 38 { 39 cout<<"No problem"<<endl; 40 } 41 else if(map[t1][t2]==-1) 42 { 43 if(find(t1)==find(t2)) 44 cout<<"OK but..."<<endl; 45 else 46 cout<<"No way"<<endl; 47 } 48 else 49 { 50 cout<<"OK"<<endl; 51 } 52 } 53 }