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的代码模块的首行缩进总是很迷…