离散题目11

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

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--判断双射相关推荐

  1. 离散题目11 判断双射

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

  2. 离散题目11(判双射函数)

    离散题目11 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 给定一个数学函数写一个程序来确 ...

  3. sdut 离散数学11 判断是否为双射

    题目链接 http://www.sdutacm.org/onlinejudge2/index.php/Home/Contest/contestproblem/cid/2083/pid/3805.htm ...

  4. 离散题目13(判断自反关系)

    离散题目13 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description DaYu平时只顾着看电影,没有 ...

  5. 离散题目10(判断是否为满射函数 )

    离散题目10 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 给定一个数学函数F和两个集合A ...

  6. 题目11 数值的整数次方

    / // 1. 题目11 数值的整数次方 // 1.1 没有考虑负数和0的情况!!!! double Power(double dBase, int iExponent) {double dRes = ...

  7. 《Cracking the Coding Interview》——第18章:难题——题目11

    2014-04-29 04:30 题目:给定一个由'0'或者'1'构成的二维数组,找出一个四条边全部由'1'构成的正方形(矩形中间可以有'0'),使得矩形面积最大. 解法:用动态规划思想,记录二维数组 ...

  8. 字符串题目---2判断两个字符串是否为变形词

    题目描述 给定两个字符串str1和str2,如果str1和str2中出现的字符种类出现的一样且每种字符出现的次数也一样,那么str1和str2互为变形词.请判断str1和str2是否为变形词 输入描述 ...

  9. 字符串题目 1 --------判断两个字符串是否为旋转词

    题目描述 如果一个字符串为str,把字符串的前面任意部分挪到后面形成的字符串交str的旋转词.比如str="12345",str的旋转串有"12345".&qu ...

最新文章

  1. rac安装grid报INS-41112错误
  2. Hadoop三种安装模式
  3. DIV CSS布局-固定页面开度布局
  4. 动态度量 linux,动态可信度量.ppt
  5. (2) 第二章 WCF服务与数据契约 服务契约详解(三)- [ServiceContract]特性
  6. Java取得操作系统的临时目录
  7. BZOJ1036[ZJOI2008]树的统计——树链剖分+线段树
  8. ThinkPhp 更改 BIT 类型的问题
  9. STM32正交编码器驱动电机
  10. KEIL软件安装教程
  11. Java后台开发知识一览
  12. 跟着团子学SAP CS:SAP CS(客户服务)模块概览
  13. Win11磁盘被写保护怎么解除?
  14. Parallels Desktop v17.1.1 网络初始化失败
  15. Eclipes配置代码模糊匹配(部分匹配)
  16. ImageNet和COCO数据集分类
  17. 腾讯后端面试题python_python技术面试题(十九)--腾讯
  18. 异构信息网络 Heterogeneous information network (HIN)
  19. 比较有效的Windows10卡硬盘解决方法
  20. Voyager如何使用Compass

热门文章

  1. android虚拟手机云之三:文件沙盒
  2. 220g格斗机器人设计制造日志(3)——改版,结构和硬件电路
  3. 30本世界名著浓缩成的经典话语
  4. 一个游戏数值策划的自白:我所理解的数值工作
  5. 微信转发分享app下载链接或指定网页无法打开的解决办法-微信跳转浏览器
  6. 红黑瓷砖--dfs求解
  7. 传感器实验——语音模块
  8. NGUI战斗飘字及界面优化
  9. 计算机视觉 08----EGNetEdge_Guidance_Network_for_Salient_Object_Dete(论文笔记)
  10. OSError: [WinError 126] 找不到指定的模块。 Error loading “G:\anaconda\lib\site-packages\torch\lib\caffe2_dete