L2-023. 图着色问题

时间限制
300 ms

内存限制
65536 kB

代码长度限制
8000 B

判题程序
Standard

作者
陈越

图着色问题是一个著名的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种

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <vector>
#include <bitset>using namespace std;#define LL long long
const int INF = 0x3f3f3f3f;int n, m, k;
int u[250090], v[250090];
int visit[505],a[505];int main()
{while (~scanf("%d%d%d", &n, &m, &k)){for (int i = 1; i <= m; i++) scanf("%d%d", &u[i], &v[i]);int q;scanf("%d", &q);while (q--){memset(visit, 0, sizeof visit);int cnt = 0, flag = 1;for (int i = 1; i <= n; i++){scanf("%d", &a[i]);if (visit[a[i]]) continue;visit[a[i]] = 1, cnt++;}if (cnt != k) { printf("No\n"); continue; }for (int i = 1; i <= m; i++)if (a[u[i]] == a[v[i]]) flag = 0;if (flag) printf("Yes\n");else printf("No\n");}}return 0;
}

团体程序设计天梯赛L2-023 图着色问题相关推荐

  1. 团体程序设计天梯赛-L2组

    团体程序设计天梯赛-L2组 -------------------------------------------------------------------------------- 题目传送门 ...

  2. 团体程序设计天梯赛 L2 题目合集

    前言 发现自己还能再参加一次天梯赛,在高兴之余,决定把在赛前将所有的天梯赛真题过一遍,希望自己可以取得理想的成绩.目前 L1 的题目已经刷完,打算在赛前刷完 L2 的题目. 本来想 L2 的题目都写个 ...

  3. L2-013. 红色警报-PAT团体程序设计天梯赛GPLT(图的连通分量个数统计)

    战争中保持各个城市间的连通性非常重要.本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报.注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不 ...

  4. 【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案,题解,附代码

    [CCCC]PAT : 团体程序设计天梯赛-练习集 L2 答案 鉴定完毕,全部水题 ヾ(•ω•`)o 知识点分类(32): 1.树锯结构(9):二叉树的存储,编号,遍历顺序转换,求深度,底层节点,从底 ...

  5. 2021年团体程序设计天梯赛-总决赛L2题解

    2021年团体程序设计天梯赛-总决赛! L2-1 包装机 思路:模拟 代码: #include<bits/stdc++.h> using namespace std; int main() ...

  6. PTA|团体程序设计天梯赛-练习题库集

    文章目录 关于爬取脚本的编写 L1-001 Hello World! (5 分) L1-002 打印沙漏 (15 分) L1-003 个位数统计 (15 分) L1-004 计算摄氏温度 (5 分) ...

  7. 2018团体程序设计天梯赛 软件学院选拔赛

    2018团体程序设计天梯赛 软件学院选拔赛 被你们虐了一下午的OJ是很辛苦的,让我们来看看题解吧. L1-01 微妙的平衡 题目描述: 平衡是一种很微妙的状态.施加在一个物体上各种力,在什么情况下会使 ...

  8. L2-001 紧急救援-团体程序设计天梯赛GPLT

    题目来源:团体程序设计天梯赛-练习集 题目地址:L2-001 紧急救援 题目描述 题目大意 题目给出一张图,其中包括道路连接的城市和它们的距离,以及每个城市救援队的数量,最后求从出发地城市到目的地城市 ...

  9. 计算机能力挑战赛_蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、计算机能力挑战赛、软考等大学生编程比赛/考试介绍...

    介绍7个适合普通大学生参加的编程比赛/考试(注:有的比赛如蓝桥杯有多种赛别,本文仅介绍其中的程序设计/编程比赛). 编程入门书籍推荐<算法笔记>,内容详细易懂,对新手非常友好,描述语言为C ...

  10. ptaa乘以b_PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)...

    C++ CPP C++语言开发 PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中--) PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:     ...

最新文章

  1. 售价910元!周志华等人英文新书《演化学习》出炉!
  2. android应用程序的组成部分
  3. JSP简单练习-JSP动作指令
  4. Docker最全教程之Go实战,墙裂推荐(十九)
  5. Codeforces Round #720 (Div. 2) C. Nastia and a Hidden Permutation 交互
  6. 559. N 叉树的最大深度
  7. OpenCV3学习(2.1)——图像Mat数据的访问-at/ptr/iterator
  8. jQuery导航菜单防刷新
  9. C++ explicit关键字详解(用于构造函数)
  10. 转换pfb/pfm字体格式为otf
  11. matlab啁啾信号,啁啾信号chirp(扫频余弦信号)
  12. 游戏后台管理工具帮助文档
  13. python 书签内容整理
  14. clustalw序列比对_Clustal的使用总结(Clustalx+Clustalw)
  15. java是先学前端还是后端_我应该学前端还是后端?
  16. APP设计说明书概述
  17. mysql怎么删除临时表里的数据_MySQL如何创建和删除临时表 | 学步园
  18. 计算机基础知识 图文,关于电脑基础知识学习【图文详解】
  19. Yar 搭建 RPC 服务
  20. php如何除去图片水印,如何去掉图片水印,一键去除文字logo图片水印更简单

热门文章

  1. Xilinx 7系列FPGA PCB设计指导(四)
  2. 交互式shell和非交互式shell、登录shell和非登录shell
  3. Node.js 局域网文件共享
  4. 如何搭建高德离线地图服务?
  5. 互联网、因特网、万维网、局域网、广域网的区别
  6. .g.i.cs_CS 1.6去鼠标加速参数
  7. qt编写网易云界面(5)----搜索框的实现
  8. mysql中文乱码server_mysql中文乱码解决方法
  9. 风扇--DLTAP703SC--单片机--杰力科创
  10. Android studio实现网上订餐app