GYM 100488 I.Map Coloring(水~)
2017-03-08 21:51
411 查看
Description
给出一张无向图,用至多k种颜色染色,要求相邻两点颜色不同,给出一种合法方案
Input
第一行三整数n,m,k分别表示点数,边数和颜色数,之后m行每行两个整数u和v表示u和v之间有边(1<=n<=1000,0<=m<=n*(n-1)/2,1<=k<=n)
Output
如果存在一种合法的染色方案则输出每个点的颜色,否则输出-1
Sample Input
3 2 2
1 2
2 3
Sample Output
1 2 1
Solution
简单题,暴力染色然后判合法即可
Code
给出一张无向图,用至多k种颜色染色,要求相邻两点颜色不同,给出一种合法方案
Input
第一行三整数n,m,k分别表示点数,边数和颜色数,之后m行每行两个整数u和v表示u和v之间有边(1<=n<=1000,0<=m<=n*(n-1)/2,1<=k<=n)
Output
如果存在一种合法的染色方案则输出每个点的颜色,否则输出-1
Sample Input
3 2 2
1 2
2 3
Sample Output
1 2 1
Solution
简单题,暴力染色然后判合法即可
Code
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<vector> #include<queue> #include<map> #include<set> #include<ctime> using namespace std; typedef long long ll; #define INF 0x3f3f3f3f #define maxn 1111 int n,m,k,g[maxn][maxn],flag[maxn],c[maxn]; int main() { while(~scanf("%d%d%d",&n,&m,&k)) { memset(g,0,sizeof(g)); for(int i=1;i<=m;i++) { int u,v; scanf("%d%d",&u,&v); g[u][v]=g[v][u]=1; } memset(c,0,sizeof(c)); for(int u=1;u<=n;u++) if(!c[u]) { memset(flag,0,sizeof(flag)); for(int v=1;v<=n;v++) if(v!=u&&g[v][u]&&c[v])flag[c[v]]=1; int temp=1; while(flag[temp])temp++; c[u]=temp; } int gg=0; for(int i=1;i<=n&&!gg;i++) { if(c[i]>k)gg=1; for(int j=i+1;j<=n&&!gg;j++) { if(g[i][j]&&c[i]==c[j])gg=1; if(!g[i][j]&&c[i]!=c[j])gg=1; } } if(gg)printf("-1\n"); else { for(int i=1;i<=n;i++) printf("%d%c",c[i],i==n?'\n':' '); } } return 0; }
相关文章推荐
- GYM 100488 D.Toy Soldiers(map)
- GYM 100488 C.Lost Temple(数论)
- gym 100430 G【贪心+map瞎搞】
- 【Gym - 101350M Make Cents?】 STL - map
- GYM 100488 H.Tony Hawk’s Pro Skater(二分)
- URAL 1080 Map Coloring (BFS)
- GYM 100488 F.Two Envelopes(水~)
- GYM 100488 J.Hyperdromes Strike Back(构造)
- map和结构体的简单运用Gym - 100883C
- GYM 100488 Toy Soldiers
- 1080. Map Coloring
- GYM 100488 G.Change-making Problem(贪心)
- GYM 100488 K.Two Pirates(set)
- map和结构体的简单运用Gym - 100883C
- GYM 100488 L.Two Heads Are Better(链表)
- map和结构体的简单运用Gym - 100883C
- GYM 101173 A.Appearance Analysis(map)
- GYM 100488 M.Construct a Permutation(构造)
- map和结构体的简单运用Gym - 100883C
- GYM 101102 C.Bored Judge(map)