测试点1,3过不去,大概率是dfs写错了(如果是写的dfs),不能先判断走没走过,要先判断颜色是否一样 代码 #include<bits/stdc++.h>#definerep(i,x,y) for(int i=x; i<=y; ++i)#defineper(i,x,y) for(int i=x; i>=y; --i)#definepushk push_back#definepopk pop_back#definemem(a,b) me...
老太太钻被窝,给爷整笑了。 测试点2: 颜色只能是k种,大于小于都过不去。#include <bits/stdc++.h> using namespace std; int edges[503][503]; int color[503]; int main() { int v, e, k; cin >> v >> e >> k; for (int i = 0; i < e; i++) { int a, b; cin >> a >>...
需要判断颜色的种类数set.size()和题目给出的颜色数K是不是相等的,若不相等则令isLegal为false。我一开始傻逼了,写的if(set.size()>K),我咩起色号种类数小于K也没事,然而有个测试点被扣了2分,没有AC只有23,然后我还找半天不晓得错在哪里啦?。 AC代码: 代码语言:javascript 复制 #include<bits/stdc++....
L2-023图着色问题(25分)L2-023图着⾊问题(25分)L2-023 图着⾊问题(25 分)图着⾊问题是⼀个著名的NP完全问题。给定⽆向图G=(V,E),问可否⽤K种颜⾊为V中的每⼀个顶点分配⼀种颜⾊,使得不会有两个相邻顶点具有同⼀种颜⾊?但本题并不是要你解决这个着⾊问题,⽽是对给定...
对每种颜色分配方案,如果是图着色问题的一个解则输出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 1. 2. 3. 4. ...
两个数据点,测试点2要求颜色必须等于k种,,测试点3如果爆搜的话,要考虑图可能不连通,所以从每个点开始搜(虽然更好的做法是直接判断点的相邻,但是本题数据不大,爆搜问题也不大) #include<bits/stdc++.h>usingnamespacestd;constintmaxn=510;intv,e,k;intflag,co[maxn],vis[maxn];vector<int>G[maxn];...
对每种颜色分配方案,如果是图着色问题的一个解则输出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
两个数据点,测试点2要求颜色必须等于k种,,测试点3如果爆搜的话,要考虑图可能不连通,所以从每个点开始搜(虽然更好的做法是直接判断点的相邻,但是本题数据不大,爆搜问题也不大) #include<bits/stdc++.h>usingnamespacestd;constintmaxn =510;intv, e, k;intflag, co[maxn], vis[maxn]; ...
对每种颜色分配方案,如果是图着色问题的一个解则输出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
#include<set> using namespace std; set<int>sp; struct node { int x,y; }; node p[10010]; int vis[100010]; int main() { int v,e,k; scanf("%d %d %d",&v,&e,&k); for(int i = 1;i <= e; i++) scanf("%d %d",&p[i].x,&p[i].y); ...