-
D - Pants On Fire
- Gym - 101873D
- 题意:
- 给出一些正确话
- 然后给出一下询问这些话是正确错误还是不确定
-
#include<bits/stdc++.h> using namespace std; #define maxn 555 map<string,int>mmp; bool gra[maxn][maxn]; string u,v,s1,s2,s3; int n,m,cnt; void floyd() { for(int k=1; k<cnt; k++) for(int i=1; i<cnt; i++) for(int j=1; j<cnt; j++) { if(gra[i][k]&&gra[k][j]) { gra[i][j]=1; } } } int main() { cin>>n>>m; cnt=1; while(n--) { cin>>u>>s1>>s2>>s3>>v; if(mmp[u]==0) mmp[u]=cnt++; if(mmp[v]==0) mmp[v]=cnt++; gra[mmp[u]][mmp[v]]=1; } floyd(); while(m--) { cin>>u>>s1>>s2>>s3>>v; if(gra[mmp[u]][mmp[v]]==1) cout<<"Fact"<<endl; else if(gra[mmp[v]][mmp[u]]==1) cout<<"Alternative Fact"<<endl; else cout<<"Pants on Fire"<<endl; } return 0; }
D - Pants On Fire -闭包传递
猜你喜欢
转载自blog.csdn.net/BePosit/article/details/82014247
今日推荐
周排行