【PTA天梯赛CCCC -2017决赛L2-3】图着色问题 (25 分)(图染色)

题干:

L2-3 图着色问题 (25 分)

图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?

但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。

输入格式:

输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。顶点和颜色都从1到V编号。随后E行,每行给出一条边的两个端点的编号。在图的信息给出之后,给出了一个正整数N(≤20),是待检查的颜色分配方案的个数。随后N行,每行顺次给出V个顶点的颜色(第i个数字表示第i个顶点的颜色),数字间以空格分隔。题目保证给定的无向图是合法的(即不存在自回路和重边)。

输出格式:

对每种颜色分配方案,如果是图着色问题的一个解则输出Yes,否则输出No,每句占一行。

输入样例:

6 8 3
2 1
1 3
4 6
2 5
2 4
5 4
5 6
3 6
4
1 2 3 3 1 2
4 5 6 6 4 5
1 2 3 4 5 6
2 3 4 2 3 4

输出样例:

Yes
Yes
No
No

解题报告: 

     刚开始读错题了一直不知道这个K是干嘛用的,后来发现是能切只能用K个颜色,而不是1~K这些个颜色,,研究样例就慢慢读懂题意了。代码很简单,枚举每条边判断就可以了。

AC代码:

#include<bits/stdc++.h>
#define pb push_back
typedef long long ll;
using namespace std;
const int MAX = 2e6 + 5;
pair<int,int> p[MAX];
int col[MAX];
int main()
{int n,m,k;cin>>n>>m>>k;for(int i = 1; i<=m; i++) {scanf("%d%d",&p[i].first,&p[i].second);}int q;cin>>q;while(q--) {int flag = 1;set<int> ss;for(int i = 1; i<=n; i++) {scanf("%d",&col[i]);ss.insert(col[i]);}if(ss.size() != k) flag = 0;if(flag == 1) {for(int i = 1; i<=m; i++) {if(col[p[i].first] == col[p[i].second]) {flag = 0;break;}}}if(flag) puts("Yes");else puts("No");}return 0 ;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python如何显示时间_如何让python显示当前时间(东部)

如果您需要大量时区&#xff0c;则应使用pytz包&#xff0c;并且需要正确处理夏令时的重复小时(即从午夜到凌晨1点发生的情况)。对于简单的事情&#xff0c;创建自己的时区类很容易&#xff1a;import datetimeclass EST5EDT(datetime.tzinfo):def utcoffset(self, dt):return …

【PTA天梯赛CCCC -2017决赛L2-4】部落 (25 分)(图染色)

题干&#xff1a; 在一个社区里&#xff0c;每个人都有自己的小圈子&#xff0c;还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里&#xff0c;于是要请你统计一下&#xff0c;在一个给定社区中&#xff0c;到底有多少个互不相交的部落&#xff1f;并且检…

python控制浏览器导出数据_Django导出数据为Excel,调用浏览器下载

1. 环境Django (2.1.10) Python3.6 xlwt (1.3.0)操作系统使用的为&#xff1a;Windows 72. 接口代码defnow_export(request):data_list CIP.objects.all() #获取数据的查询集if notdata_list:return HttpResponse(json.dumps({"state": "1", "msg&q…

☆用Python实现ACM各大输入输出格式

arr input(""); #输入一个一维数组&#xff0c;每个数之间使空格隔开 num [int(n) for n in arr.split()]; #将输入每个数以空格键隔开做成数组 print(num[0]num[1]); #打印数组 # encoding: utf-8Python的输入是野生字符串&#xff0c;所以要自己转类…

wp config.php mysql_WordPress手动配置wp-config.php文件

前不久在WordPress技术群里看到有人在安装网站程序的时候出现了系统不能自动配置wp-config.php文件的问题&#xff0c;那么这个时候就需要我们手动进行配置了。问题描述&#xff1a;如果自动创建未能成功&#xff0c;不用担心&#xff0c;您要做的只是将数据库信息填入配置文件…

sqlserver mysql分页_SQLServer数据库分页查询语句

本文主要向大家介绍了SQLServer数据库分页查询语句&#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习SQLServer数据库有所帮助。SQL Server分页查询是我们经常会用到的功能&#xff0c;下面就为你介绍分页查询的相关语句&#xff0c;希望对您学习SQL Server分页…

Python求一个整数位数的方法

a int(input()); print(len(str(a))) print(a) 输入&#xff1a; 123 输出&#xff1a; 3 123

thinkphp使用echarts_Thinkphp 与Echarts-php 使用

这里推荐大家使用composer 依赖管理工具 导入Echarts-php库{"name": "hisune/echarts-php","version": "1.0.10","version_normalized": "1.0.10.0","source": {"type": "git",&qu…

*【ZOJ - 3604】Tunnel Network (Cayley定理,purfer数列,无根树定理,构造,结论,或dp)

题干&#xff1a; Country Far-Far-Away is a big country with N cities. But it is now under a civil war. The rebel uses the ancient tunnel network which connects all N cities with N-1 inter-city tunnels for transportation. The government army want to destro…

创建文件夹 java_java怎么建文件夹

Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。File对象代表磁盘中实际存在的文件和目录。下面我们来看一下java中创建文件夹的方法&#xff1a;示例&#xff1a;package com.zz;import java.io.File;import java.i…

【Gym - 101986F】Pizza Delivery(Dijkstra最短路,建图方式,反向建图,Tarjan求桥,图论模板)

题干&#xff1a; 题目大意&#xff1a; 一个有向图&#xff0c;编号1~n的n个点&#xff0c;m条边&#xff0c;规定1为起点&#xff0c;2为终点&#xff0c;问对于每一条边&#xff0c;反转它的方向&#xff0c;最短路会不会发生改变&#xff0c;如果变短了&#xff0c;输出HA…

学java好还是web前端好_到底是学习Java好,还是Web前端好?

要想之后的发展空间比较大的话&#xff0c;我个人的建议还是要往全栈Web前端开发优势&#xff1a;人才缺口大&#xff0c;发展前景好&#xff0c;需求量大前景指数&#xff1a;★★★★★web前端开发前景大好&#xff01;其中的HTML5技术更是日趋成熟&#xff0c;HTML5是移动互…

【CF#505B】Mr. Kitayuta's Colorful Graph (并查集或Floyd或BFS)

题干&#xff1a; Mr. Kitayuta has just bought an undirected graph consisting of n vertices and m edges. The vertices of the graph are numbered from 1 to n. Each edge, namely edge i, has a color ci, connecting vertex ai and bi. Mr. Kitayuta wants you to p…

java data jpa_Spring Data JPA(一)简介

Spring Data JPA介绍可以理解为JPA规范的再次封装抽象&#xff0c;底层还是使用了Hibernate的JPA技术实现&#xff0c;引用JPQL(Java Persistence Query Language)查询语言&#xff0c;属于Spring整个生态体系的一部分。随着Spring Boot和Spring Cloud在市场上的流行&#xff0…

【CodeForces - 438D】The Child and Sequence(线段树区间取模操作)

题干&#xff1a; At the childrens day, the child came to Pickss house, and messed his house up. Picks was angry at him. A lot of important things were lost, in particular the favorite sequence of Picks. Fortunately, Picks remembers how to repair the sequ…

java 自定义xml_6.1 如何在spring中自定义xml标签

dubbo自定义了很多xml标签&#xff0c;例如&#xff0c;那么这些自定义标签是怎么与spring结合起来的呢&#xff1f;我们先看一个简单的例子。一 编写模型类1 packagecom.hulk.testdubbo.model;23 public classHero {4 privateString name;5 private intage;67 publicString ge…

【POJ - 3723】Conscription (最大生成树,最小生成树MST变形)

题干&#xff1a; Windy has a country, and he wants to build an army to protect his country. He has picked up N girls and M boys and wants to collect them to be his soldiers. To collect a soldier without any privilege, he must pay 10000 RMB. There are some…

java 监听本地端口_Java-在本地端口上侦听RTP数据包

因此,我目前正在开发一个客户端应用程序,该应用程序在端口5004上侦听RTP数据包.由于可能有多个服务器发送RTP数据包,因此我无法使用套接字连接到特定的远程主机.相反,我尝试了以下方法来侦听本地端口&#xff1a;Socket socket new Socket("127.0.0.1", 5004);Socke…

【FZU - 2254】英语考试(最小生成树,思维,建图)

题干&#xff1a; 在过三个礼拜&#xff0c;YellowStar有一场专业英语考试&#xff0c;因此它必须着手开始复习。 这天&#xff0c;YellowStar准备了n个需要背的单词&#xff0c;每个单词的长度均为m。 YellowSatr准备采用联想记忆法来背诵这n个单词&#xff1a; 1、如果Ye…

java 模块设计模式_Java9模块化学习笔记二之模块设计模式

模块设计的原则:1、防止出现编译时循环依赖(主要是编译器不支持)&#xff0c;但运行时是允许循环依赖的&#xff0c;比如GUI应用2、明确模块的边界几种模块设计:API模块&#xff0c;聚合模块(比如java.base)可选依赖两种方式:1、可选的编译时依赖(类似于maven的provided scope)…