Problem Description
给出两个集合,以及两个集合上的关系。判断该关系能不能构成函数
Input
多组输入。第一行数字表示集合A;第二行数字表示集合B;第三行一个数字N,表示关系的个数。以下N行,每行两个数字a b,用来描述关系a→b。0 < n < = 20000,集合A、B的大小不超过10000.
Output
每组数据输出一行,所给关系属于函数,输出’yes’ ,否则输出‘no’。
Example Input
1 2 3 4 5 6 3 1 4 2 5 3 6 1 2 3 4 5 6 3 1 4 1 5 1 6
Example Output
yes no
code:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, i, y, x[20010];
string a, b;
while(getline(cin, a))
{
getline(cin, b);
cin>>n;
for(i = 0;i<n;i++)
{
cin>>x[i]>>y;
}
sort(x, x+n);
int flag = 1;
for(i = 0;i<n-1;i++)
{
if(x[i]==x[i+1])
{
flag = 0;
break;
}
}
if(flag==1) printf("yes\n");
else printf("no\n");
getchar();
getchar();
}
}
8435

被折叠的 条评论
为什么被折叠?



