离散题目12(判断是否为函数 c++处理)
2017-06-10 23:13
323 查看
离散题目12
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
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
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
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
#include <iostream> #include<cstdio> #include<sstream> #include<string.h> #include<stdlib.h> #include<algorithm> using namespace std; int a[2000000],b[2000000],c[2000000]; int main() { string line; int i,j,l1,l2,f,x,k,y,n; while(getline(cin,line)) { l1=l2=0; f=1; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); stringstream s(line); while(s>>x) { a[x+1000000]=1; } getline(cin,line); stringstream ss(line); while(ss>>x) { b[x+1000000]=1; } scanf("%d",&n); for(i=0;i<n;i+ 4000 +) { scanf("%d%d",&x,&y); if(a[x+1000000]>=1&&b[y+1000000]==1) { a[x+1000000]++; } if(a[x+1000000]>2)//函数x唯一 { f=0; } } if(f) printf("yes\n"); else printf("no\n"); getline(cin,line); } return 0; }
相关文章推荐
- SDUT 离散题目2 判断一个集合元素是否重复
- 离散题目9(判断是否为单射函数)
- 离散题目13 判断是否自反
- 离散数学上机题目1(判断元素是否属于集合)
- Python实遍历二维数组题目一:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 离散题目15(判断是否为传递关系(结构体))
- 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 离散题目3(判断是否为子集)
- 剑指offer——题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 离散题目10(判断是否为满射函数 )
- 编写一个函数判断输入的年月日是否合法。输入例如 2012 2 12形式
- 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。(Python实现)
- 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 离散题目14 判断是否对称
- 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- C#判断IP地址是否合法函数-使用正则表达式-2个
- 判断IP地址是否合法的sql2000使用存储过程跟函数
- C#判断IP地址是否合法函数-使用正则表达式-2个
- 写了个判断文件是否被锁定的函数 --- 有用!