NC210719. A、不一样的食物链
描述
上帝想要创建规则,其中有N个关系,每个关系由狩猎者和猎物组成,均为字符串,若是这N条关系中每个事物都有它的天敌,则说明上帝创造的规则合理,反之不合理。对于合理输出数字1,不合理输出数字0。
输入描述
第一行输入为N之后的N行输入均由两个字符串组成,第一个字符串代表狩猎者,第二个字符串代表猎物
输出描述
输出只有一行,仅仅为1或0,行末无多余空格
示例1
输入:
5 A B B C C D D E E C
输出:
0
说明:
1、输入:
第一条关系,A B,意思为,A是B的狩猎者,B是A的猎物,其余的输入同理。
2、输出:
A没有作为猎物,故没有属于A的狩猎者,所以此规则不合理,故输出0。
C++14(g++5.4) 解法, 执行用时: 3ms, 内存消耗: 376K, 提交时间: 2020-08-25 10:19:13
#include<bits/stdc++.h> using namespace std; char x[1010],y[1010]; int main(){ int n; cin>>n; set<string> a; set<string> b; while(n--){ cin>>x>>y; a.insert(x); a.insert(y); b.insert(y); } if(a.size()==b.size()){ cout<<1; } else{ cout<<0; } return 0; }
C++ 解法, 执行用时: 4ms, 内存消耗: 432K, 提交时间: 2021-08-06 14:15:57
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; set<string>A,B; while(n--) { string a,b; cin>>a>>b; A.insert(a); A.insert(b); B.insert(b); } if(A.size()==B.size()) cout<<"1"; else cout<<"0"; }
Python3 解法, 执行用时: 43ms, 内存消耗: 4588K, 提交时间: 2022-06-13 16:47:31
a,b=set(),set() for x in range(int(input())): c,d=input().split() if c!=d: a.add(c) b.add(d) print(1 if a&b==a else 0)