一道弱智的题。。我他妈的却废了这么久就是个边判别的题我还用dfs和bfs。。。之后又忽律颜色给定的范围,范围根本不得而知,结果在一个case上卡了很久,直接用set去重就完美解决。。。我是弱智啊!!#include<iostream>#include<stdlib.h>#include<stdio.h>#include<vector>#include<queue>#include<cstring>#include<set>using namespace std;using std::set;const int maxn=10010;struct edge{ int a; int b;}table[maxn];int query[maxn];int hashtable[maxn]={0};int main(){ int n,m; scanf("%d",&n); scanf("%d",&m); int a,b; for(int i=0;i<m;i++){ scanf("%d%d",&table[i].a,&table[i].b); } int k; scanf("%d",&k); for(int i=0;i<k;i++){ set<int>color; for(int j=0;j<n;j++){ scanf("%d",&query[j]); color.insert(query[j]); } bool flag=true; for(int i=0;i<m;i++){ if(query[table[i].a]==query[table[i].b]){ flag=false; break; } } if(flag){ printf("%d-coloring\n",color.size()); }else{ printjf(“No\n”); } } system(“pause”);}