题目链接
http://www.sdutacm.org/onlinejudge2/index.php/Home/Contest/contestproblem/cid/2083/pid/3805.html
离散题目11
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description

给定一个数学函数写一个程序来确定该函数是否是双射(既是单射,又是满射)的。

如果每个可能的像至少有一个变量映射其上(即像集合B中的每个元素在A中都有一个或一个以上的原像),或者说值域任何元素都有至少有一个变量与之对应,那这个映射就叫做满射。

单射
即A中的任意一个元素唯一的对应一个函数值,并且该值为B集合中的某个元素。
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
Author

Stone

#include<bits/stdc++.h>
#include<iostream>
using namespace std;int main()
{int n,m;while(cin>>n){int k;cin>>m>>k;int u = 0;int book[100005]={0};int b[100005]={0};for(int i=1;i<=n;i++){int num;cin>>num;}for(int i=1;i<=m;i++){int num;cin>>num;b[num]++;}int f = 0;for(int i=1;i<=k;i++){int x,y;cin>>x>>y;if(b[y]==1)//判断满射条件,记录y在映射中的个数(只记录条件中的,重复的只记一次),因为无重复,所以只需个数等于m即可{b[y]++;u++;}if(f)continue;if(book[x]==1)//判断单设条件,映射中x只能出现一次,且映射的y在条件中必须存在{f = 1;}if(b[y]==0){f = 1;}book[x] = 1;}if(u>=m&&!f)printf("YES\n");elseprintf("NO\n");}return 0;
}

sdut 离散数学11 判断是否为双射相关推荐

  1. 离散题目11 判断双射

    Problem Description 给定一个数学函数写一个程序来确定该函数是否是双射的 Input 多组输入. 第一行输入三个整数n,m,k,分别表示集合a中的元素个数,集合b中的元素个数,集合a ...

  2. C++11判断inf, nan

    参考链接:http://en.cppreference.com/w/cpp/numeric/math/isinf 程序中碰到nan却找不到哪里出错是最让人头疼的问题之一,最近在cppreference ...

  3. 11.判断一个人出生了多少天

    判断一个人出生了多少天 思路: 1.获取当前时间对应的日期的毫秒值 2.获取出生日期毫秒值 3.毫秒值相减 代码 public static void method(Date date1) {//获取 ...

  4. 【SDUT第11周周赛Problem A】SDUT2576——Queen Collisions

    来源:点击打开链接 由于一些原因,需要在短短的一段时间内速成图论和搜索了=  =,希望能够有一个不错的结果. 这个题是著名八皇后问题的变种,大意就是问在一个棋盘中,照面的皇后有几组(横着竖着斜着都算) ...

  5. 图11——判断图中是否为一棵树

    编写算法,判断一个无向图是否是一颗树. [分析] 一个无向图G是一棵树的条件为:G必须是无回路的连通图或n-1条边的连通图,这里我们采用后者作为判断条件.例如下图所示: 上面的无向图就是一棵树,它有6 ...

  6. 判断滚动条是否到某个位置,还有滑动的方向,以此来判断什么时候阻止滚动条滚动...

    <script type="text/javascript"> // 防止内容区域滚到底后引起页面整体的滚动 var content = document.queryS ...

  7. js判断输入数字是否是整数,金额、数字

    function isIntNum(strNum){//js判断输入数字是否是整数 仅供学习思想var strCheckNum = strNum+"";if(strCheckNum ...

  8. WordPress页面、文章、分类等的条件判断的标签集合

    is_home() //判断是否为首页. #The Front Page 首页头版消息设置 is_front_page() //判断是否为首页头版消息. (无论是日志或是页面).当系统显示博客主页且管 ...

  9. 几何常用算法与判断线段相交【转】

    下面这个函数在我写的计算几何库函数里面有,那个库可以在http://algorithm.126.com/的资源中心   -   代码角   找到. 算法简单说明: 首先判断以两条线段为对角线的矩形是否 ...

最新文章

  1. 【数学建模】MATLAB从入门到精通:Logistic模型原理及应用案例(附MATLAB代码)
  2. iOS开发之Quzrtz2D 一:认识Quzrtz2D
  3. project ‘org.springframework.boot:spring-boot-starter-parent:2.1.4.RELEASE‘ not found
  4. 研究c语言,研究c语言计算机编程实验.docx
  5. python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
  6. android toolbar区别,Android《ToolBar》
  7. vs.net c# 安装、注册windows service服务,判断服务是否存在,是否启动
  8. c 取数组 最大值 算法_拜托,面试别再问我最大值最小值了!!!
  9. 谁将拥有移动互联网的下一个机会?…
  10. 一、理解网络编程和套接字
  11. JAVA实战项目--文章发布系统
  12. VScode下载安装及使用教程
  13. c语言运行excel中vba程序,Excel 中如何运行 VBA 代码?
  14. 如何开发一个App(Android)
  15. 浏览器如何导出证书?
  16. 期货开户手续费是怎么查询?
  17. PM、RD、QA、OP
  18. 读HTTP权威指南的体会
  19. 金航数码选择应用 TDengine 时序数据库,改造现有数据库架构
  20. Don‘t Cry Over Spilt Milk

热门文章

  1. 用魔法分区大师PQ8.0扩充C盘空间
  2. vue-router 进阶
  3. 2022年监理工程师案例分析考试每日一练及答案
  4. PacketiX ×××在CentOS网关问题总结
  5. 派克斯全部错误代码解析
  6. 本地商家装机计算机配置清单,装机配置电脑清单
  7. Android动画之translate(位移动画)上下移动
  8. python 参数 *args 和 **kwargs
  9. Redis学习笔记(面试+实战)
  10. 项目管理中的人力资源问题