1154 Vertex Coloring

#include<iostream>

#include<set>

#include<vector>

using namespace std;

struct node{

int t1;

int t2;

};

int main(){

int n, m, k;

cin >> n >> m;

vector<node> v(m); // 储存所有边的信息

for(int i = 0; i < m; i++){

cin >> v[i].t1 >> v[i].t2;

}

cin >> k;

while(k--){

int a[10009] = {0}; // 存储每个顶点的颜色

bool flag = true;

set<int> se; // 存储所有颜色

//读取每个顶点的颜色

for(int i = 0; i < n; i++){

cin >> a[i];

se.insert(a[i]);

}

//检查每条边的两个端点颜色是否相同

for(int i = 0; i < m; i++){

if(a[v[i].t1] == a[v[i].t2]){

flag = false;

break;

}

}

if(flag){

cout << se.size() << "-coloring" << endl;

} else {

cout << "No" << endl;

}

}

return 0;

}

相关推荐
wangluoqi几秒前
26.2.6练习总结
数据结构·算法
rainbow68893 分钟前
C++高性能框架Drogon:后端开发新标杆
c++
Yvonne爱编码3 分钟前
链表高频 6 题精讲 | 从入门到熟练掌握链表操作
java·数据结构·链表
Q741_1474 分钟前
C++ 优先级队列 大小堆 模拟 力扣 703. 数据流中的第 K 大元素 每日一题
c++·算法·leetcode·优先级队列·
木井巳20 分钟前
【递归算法】二叉搜索树中第K小的元素
java·算法·leetcode·深度优先·剪枝
铉铉这波能秀22 分钟前
LeetCode Hot100 中 enumerate 函数的妙用(2026.2月版)
数据结构·python·算法·leetcode·职场和发展·开发
墨有66630 分钟前
哈希表从入门到实现,一篇吃透!
数据结构·算法·哈希算法
Yu_Lijing31 分钟前
网络复习篇——网络基础(一)
网络·c++·笔记
Bella的成长园地32 分钟前
为什么c++中的条件变量的 wait() 函数需要配合while 循环或谓词?
c++·面试
We་ct34 分钟前
LeetCode 228. 汇总区间:解题思路+代码详解
前端·算法·leetcode·typescript