hdu5971 Wrestling Match

2024-04-07 04:08
文章标签 match hdu5971 wrestling

本文主要是介绍hdu5971 Wrestling Match,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Nowadays, at least one wrestling match is held every year in our country. There are a lot of people in the game is "good player”, the rest is "bad player”. Now, Xiao Ming is referee of the wrestling match and he has a list of the matches in his hand. At the same time, he knows some people are good players,some are bad players. He believes that every game is a battle between the good and the bad player. Now he wants to know whether all the people can be divided into "good player" and "bad player".
Input
Input contains multiple sets of data.For each set of data,there are four numbers in the first line:N (1 ≤ N≤ 1000)、M(1 ≤M ≤ 10000)、X,Y(X+Y≤N ),in order to show the number of players(numbered 1toN ),the number of matches,the number of known "good players" and the number of known "bad players".In the next M lines,Each line has two numbersa, b(a≠b) ,said there is a game between a and b .The next line has X different numbers.Each number is known as a "good player" number.The last line contains Y different numbers.Each number represents a known "bad player" number.Data guarantees there will not be a player number is a good player and also a bad player.
Output
If all the people can be divided into "good players" and "bad players”, output "YES", otherwise output "NO".
Sample Input
5 4 0 0
1 3
1 4
3 5
4 5
5 4 1 0
1 3
1 4
3 5
4 5
2
Sample Output
NO

YES

题意:

ac代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <vector>
#include <queue>
using namespace std;
int vis[1005];
vector<int> ve[1005];
int dg[1005];
int bd[1005];
int dfs(int p,int q)
{vis[p]=q;int t;if(q==2)t=1;else t=2;for(int i=0;i<ve[p].size();i++){if(vis[ve[p][i]]==q)return 0;if(vis[ve[p][i]]==0&&dfs(ve[p][i],t)==0)return 0;}return 1;
}
int main()
{int n,m,x,y,a,b;while(cin>>x>>y>>n>>m){int flag=0;for(int i=0;i<x;i++)ve[i].clear();memset(vis,-1,sizeof(vis));for(int i=1;i<=y;i++){scanf("%d%d",&a,&b);vis[a]=0;vis[b]=0;ve[a].push_back(b);ve[b].push_back(a);}for(int i=0;i<n;i++){scanf("%d",&a);vis[a]=1;for(int j=0;j<ve[a].size();j++){if(vis[ve[a][j]]==1){flag=1;break;}elsevis[ve[a][j]]=2;}}for(int i=0;i<m;i++){scanf("%d",&a);vis[a]=2;for(int j=0;j<ve[a].size();j++){if(vis[ve[a][j]]==2){flag=1;break;}elsevis[ve[a][j]]=1;}}for(int i=1;i<=x;i++){if(vis[i]==1){if(dfs(i,1)==0){flag=1;break;}}if(vis[i]==2){if(dfs(i,2)==0){flag=1;break;}}if(vis[i]==0){if(dfs(i,1)==0&&dfs(i,2)==0){flag=1;break;}}}for(int i=1;i<=x;i++){if(vis[i]==-1){flag=1;break;}}if(flag==1)cout<<"NO"<<endl;elsecout<<"YES"<<endl;}return 0;
}

这篇关于hdu5971 Wrestling Match的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/881606

相关文章

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比

在JavaScript中,正则表达式(Regular Expression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。 正则表达式基础 在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则

easyswoole not controller class match

not controller class match composer.json 注册 App 这个名称空间了吗?执行过 composer dump-autoload 了吗?存在 Index 控制器,但是文件大小写、路径都对了吗? task socket listen fail 注意,在部分环境下,例如 win10 的 docker 环境中,不可把虚拟机共享目录作为 EasySwoole 的 T

【硬刚ES】ES基础(二十一) 单字符串多字段查询:Multi Match

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的ES部分补充。

【Rust】006-Rust 枚举与`match`、`if let`、`let else`

【Rust】006-Rust 枚举与match、if let、let else 文章目录 【Rust】006-Rust 枚举与`match`、`if let`、`let else`一、简介二、使用场景三、基本使用1、定义枚举2、使用枚举 四、功能详解1、带数据的枚举2、使用`match`进行模式匹配3、使用`if let`简化特定变体的处理4、使用`let else`处理带条件的匹配 五、

机器学习三:cumulative match score

1.这是机器学习中knn算法的一个概念,没有找到中文资料,那么可以看这个: https://stats.stackexchange.com/questions/142323/cumulative-match-score 2.同时我读的论文中也有对其的解释: 3.这是一篇人脸识别的论文,人脸一共C=200个,那么knn最后会有个p*200的矩阵,p是想要知道的人脸,也就是测试,p

从玩法到收益,MATCH NFT如何引领NFT市场新潮流?

如果要问最近NFT领域最热门的项目是什么,MATCH NFT无疑是版本答案。 MATCH NFT,以其创新的发行机制和多元化的收益模式,成为了NFT领域的热门项目,Match NFT将于8月31日正式开启拍卖,MATCH NFT当下的火爆热度,迅速吸引了加密行业的广泛关注。 众所周知,NFT市场一直都是神仙打架各显神通,成为市场焦点的MATCH NFT究竟有什么独到之处,为何能够在如此

PHP 正则表达式匹配 preg_match 与 preg_match_all 函数

PHP 正则表达式匹配 preg_match 与 preg_match_all 函数 原文地址:http://www.5idev.com/p-php_preg_match.shtml 正则表达式在 PHP 中的应用 在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正则表达式匹配相应的内容正则替换:根据正则表达式匹配内容并替换正则分割:根据正则表达式分割字符串

HDP 2.6.3.0 ambari安装 :Cannot match package for regexp name XX_${stack_version}错误

博主在Centos7.5 上进行HDP 2.6.3.0的安装,在安装过程中: 报错: :Cannot match package for regexp name xx_${stack_version} 如图: 博主这里以hbase为例,其他的可能是hadoop、pig等等。 参考了以下两篇文章的方法: 第一: https://blog.csdn.net/weixin_4215168

.net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用)

.net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用) 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串。正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpressions.Regex类实现了验证正则表达式的方法。Regex