这是一个比较简单的并查集的题目
//并查集
#include <iostream>
using namespace std;
int dd[110][110];//记录是否是敌对关系
int f[110];//并查集记录朋友关系
int find(int x){
if(f[x]==x) return x;
return f[x]=find(f[x]);
}
int n,m,k;
int a,b,c;
int main()
{
cin>>n>>m>>k;
for(int i=1;i<=n;++i)
f[i]=i;
for(int i=1;i<=m;++i){
cin>>a>>b>>c;
if(c==1){
f[find(a)]=find(b);
}else if(c==-1){
dd[a][b]=1;
dd[b][a]=1;
}
}
int p1,p2;
while(k--){
cin>>p1>>p2;
if(dd[p1][p2]==1){
if(find(p1)==find(p2))
cout<<"OK but...";
else
cout<<"No way";
}else{
if(find(p1)==find(p2))
cout<<"No problem";
else
cout<<"OK";
}
if(k>0)
cout<<endl;
}
return 0;
}