PAT 甲题 1154 Vertex Coloring

PAT 甲题 1154 Vertex Coloring


这题比较简单,思路也很清晰,但是我依旧没有一次性AC。。。
因为在第二层for循环上

for(int i=0;i<n;i++)
	for(int j=0;j<m;j++)

我把其中一个j手贱敲成了i然后又浪费时间去debug
下次再也不犯这个错误了T_T

代码:

#include<iostream>
#include<set>
using namespace std;
int main()
{
 int n, m, k, v1, v2;
 scanf("%d%d", &n, &m);
 pair<int, int> p[m];
 for (int i = 0; i < m; i++)
 {
 	 scanf("%d%d", &v1, &v2);
 	 p[i] = make_pair(v1, v2);
 }
 scanf("%d", &k);
 for (int i = 0; i < k; i++)
 {
	int v_color[n];
	set<int> st;
	for (int j = 0; j < n; j++)
	{
  		scanf("%d", &v_color[j]);
 		st.insert(v_color[j]);
	}
 	int j;
	for (j = 0; j < m; j++)
   		if (v_color[p[j].first] == v_color[p[j].second])
  			break;
 	j == m ? printf("%d-coloring
", st.size()) : printf("No
");
 }
 return 0;
}

CSDN的代码模块的首行缩进总是很迷…

原文地址:https://www.cnblogs.com/yuhan-blog/p/12309112.html