Krydom: 暁の水平线に胜利を刻むのです

ソロモンの悪夢、見せてあげる!

@krydom1月前

05/17
20:26
杂题

[bzoj 4878] [Lydsy2017年5月月赛]挑战NP-Hard

♦♦♦♦♦♦   Description   ♦♦♦♦♦♦

天才大学生quailty热衷于解决NP-Hard问题,你如果AC 了这道题,就可以成为他真正的粉丝。图染色问题:给定无向图G和一个正整数k。对于图中的每个点,选择一个在[1,k]之间的整数作为其颜色。你需要保证对于每条边,其两端点的颜色均不相同。简单k路径问题:给定无向图G和一个正整数k。请找到一条经过了恰好k条边的简单路径。即,你需要找到一个长度为k+1的序列v_1,v_2,...,v_{k+1},满足1<=v_i<=n,且任意两个v均不相同,同时v_i与v_{i+1}之间存在一条边。现在给定无向图G和一个正整数k,quailty知道你没有他的水平,所以你只需解决上面的任意一个问题就可以成为他的粉丝。

♦♦♦♦♦♦   Input   ♦♦♦♦♦♦

第一行包含一个正整数T(1<=T<=1000),表示测试数据的组数。
对于每组数据,第一行包含三个正整数n,m,k(1<=n<=1000,1<=m<=10000,1<=k<=n),分别表示图的点数与边数。
接下来m行,每行两个正整数a,b(1<=a,b<=n),表示a到b之间存在一条无向边。
输入数据保证不存在重边与自环,且总边数不超过100000。

♦♦♦♦♦♦   Output   ♦♦♦♦♦♦

对于每组数据:
若选择了图染色问题,请输出“color”,然后输出n个在1到k之间的正整数,分别表示每个点的颜色。
若选择了简单路径问题,请输出“path”,然后输出k+1个在1到n之间的正整数,分别表示路径上每个点的编号。
若有多组可行解,输出任意一组。

♦♦♦♦♦♦   Sample Input   ♦♦♦♦♦♦

2
4 5 2
1 2
2 3
3 4
4 1
1 3
3 3 3
1 2
2 3
3 1

♦♦♦♦♦♦   Sample Output   ♦♦♦♦♦♦

path 3 2 1
color 1 2 3

♦♦♦♦♦♦   Hint   ♦♦♦♦♦♦

♦♦♦♦♦♦   题解  ♦♦♦♦♦♦

先贪心染色,如果能用k种颜色染完就color

不能的话从颜色为k + 1的点开始走,每次往上一个颜色走

 

[bzoj 4878] [Lydsy2017年5月月赛]挑战NP-Hard