离散题目11--判断双射
离散题目11
Problem Description
给定一个数学函数写一个程序来确定该函数是否是双射的
Input
多组输入。 第一行输入三个整数n,m,k,分别表示集合a中的元素个数,集合b中的元素个数,集合a到b的映射个数。 第二行输入n个数,代表集合a中的元素。 第三行输入m个数,代表集合b中的元素。接下来k行,每行两个数,代表集合a中的元素x和x在集合b中的像y。
Output
每组数据输出一行,若F为a到b的双射,输出"YES", 否则输出"NO"。
Example Input
5 5 5 1 2 3 7 8 2 5 6 9 0 1 9 3 2 2 6 7 0 8 5
Example Output
YES
Hint
保证集合a中元素无重复,集合b中元素无重复,映射关系无重复(如:{,})
1<=n,m,k<=1000
1<=a[i], b[i]<=10000
x∈a, y∈b
think:只需要根据给出的关系判断即可,满足双射就是既是单射有事满射,所以元素都是一一对应的,并且没有重复的元素。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c;
int s[1005], t[1005], x, y;
int i, j;
while(cin>>a>>b>>c)
{
for(i = 0; i < a; i++)
cin>>x;
for(i = 0; i < b; i++)
cin>>y;
for(i = 0; i < c; i++)
cin>>s[i]>>t[i];
int flag1= 1, flag2 = 1;
if(a == b&&a == c)
{
sort(s, s+c);
sort(t, t+c);
for(j = 0; j <= c-2; j++)
{
if(s[j] == s[j+1])
{
flag1 = 0;
break;
}
}
for(j = 0; j <= c-2; j++)
{
if(t[j] == t[j+1])
{
flag2 = 0;
break;
}
}
if(flag1&&flag2)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else
cout<<"NO"<<endl;
}
return 0;
}
离散题目11--判断双射相关推荐
- 离散题目11 判断双射
Problem Description 给定一个数学函数写一个程序来确定该函数是否是双射的 Input 多组输入. 第一行输入三个整数n,m,k,分别表示集合a中的元素个数,集合b中的元素个数,集合a ...
- 离散题目11(判双射函数)
离散题目11 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 给定一个数学函数写一个程序来确 ...
- sdut 离散数学11 判断是否为双射
题目链接 http://www.sdutacm.org/onlinejudge2/index.php/Home/Contest/contestproblem/cid/2083/pid/3805.htm ...
- 离散题目13(判断自反关系)
离散题目13 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description DaYu平时只顾着看电影,没有 ...
- 离散题目10(判断是否为满射函数 )
离散题目10 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 给定一个数学函数F和两个集合A ...
- 题目11 数值的整数次方
/ // 1. 题目11 数值的整数次方 // 1.1 没有考虑负数和0的情况!!!! double Power(double dBase, int iExponent) {double dRes = ...
- 《Cracking the Coding Interview》——第18章:难题——题目11
2014-04-29 04:30 题目:给定一个由'0'或者'1'构成的二维数组,找出一个四条边全部由'1'构成的正方形(矩形中间可以有'0'),使得矩形面积最大. 解法:用动态规划思想,记录二维数组 ...
- 字符串题目---2判断两个字符串是否为变形词
题目描述 给定两个字符串str1和str2,如果str1和str2中出现的字符种类出现的一样且每种字符出现的次数也一样,那么str1和str2互为变形词.请判断str1和str2是否为变形词 输入描述 ...
- 字符串题目 1 --------判断两个字符串是否为旋转词
题目描述 如果一个字符串为str,把字符串的前面任意部分挪到后面形成的字符串交str的旋转词.比如str="12345",str的旋转串有"12345".&qu ...
最新文章
- rac安装grid报INS-41112错误
- Hadoop三种安装模式
- DIV CSS布局-固定页面开度布局
- 动态度量 linux,动态可信度量.ppt
- (2) 第二章 WCF服务与数据契约 服务契约详解(三)- [ServiceContract]特性
- Java取得操作系统的临时目录
- BZOJ1036[ZJOI2008]树的统计——树链剖分+线段树
- ThinkPhp 更改 BIT 类型的问题
- STM32正交编码器驱动电机
- KEIL软件安装教程
- Java后台开发知识一览
- 跟着团子学SAP CS:SAP CS(客户服务)模块概览
- Win11磁盘被写保护怎么解除?
- Parallels Desktop v17.1.1 网络初始化失败
- Eclipes配置代码模糊匹配(部分匹配)
- ImageNet和COCO数据集分类
- 腾讯后端面试题python_python技术面试题(十九)--腾讯
- 异构信息网络 Heterogeneous information network (HIN)
- 比较有效的Windows10卡硬盘解决方法
- Voyager如何使用Compass
热门文章
- android虚拟手机云之三:文件沙盒
- 220g格斗机器人设计制造日志(3)——改版,结构和硬件电路
- 30本世界名著浓缩成的经典话语
- 一个游戏数值策划的自白:我所理解的数值工作
- 微信转发分享app下载链接或指定网页无法打开的解决办法-微信跳转浏览器
- 红黑瓷砖--dfs求解
- 传感器实验——语音模块
- NGUI战斗飘字及界面优化
- 计算机视觉 08----EGNetEdge_Guidance_Network_for_Salient_Object_Dete(论文笔记)
- OSError: [WinError 126] 找不到指定的模块。 Error loading “G:\anaconda\lib\site-packages\torch\lib\caffe2_dete