#3154. 挑战NPCⅢ
挑战NPCⅢ
题目背景
正在打集的 Displace_ 瞅了一眼U群,发现大家在讨论 NPC 问题,看着集成战略的地图,他突然想到了一个经典 NPC 问题:图染色。
经典的图染色问题是一个 个点 条边的无向连通图,用 种颜色来给每个点染色,使得任意有边连接的两个点颜色不同,构造一个方案。
是简单的,当 时问题的难度就骤增了,所以仁慈的 Displace_ 保证 。
但即使是 的问题,在边较多的图上也是及其棘手的,所以 Displace_ 保证图的边数不多,具体的,有一个阈值 ,保证 。
被邪魔污染的 Displace_ 决定就限制这么多条件,现在你需要在这样的条件下构造出一个染色方案,或者报告无解。
输入格式
第一行一个整数 ,表示测试点编号, 表示该测试点为样例。
接下来一行四个整数 ,表示图的点数、边数,允许使用的颜色数和阈值。
接下来 行,每行两个整数 ,表示有一条连接 的边。
输出格式
如果无解,输出一行 -1
。
否则在第一行输出 1
,在接下来的一行输出 个正整数,第 个整数 表示 号节点的颜色,你需要保证 。
样例输入
0
5 7 3 2
1 2
1 3
3 4
2 5
3 2
5 1
2 4
样例输出
1
2 1 3 2 3
数据范围与时空限制
1s,512MB
对于所有测试点,保证 ,保证图联通,图中无自环无重边,。
因为一些原因,本题采用subtask捆绑测试,数据的参数 与其所属的子任务编号相同。
subtask1(1pts):。
subtask2(9pts):。
subtask3(15pts):。
subtask4(10pts):。
subtask5(20pts):。
subtask6(45pts): 无其他特殊限制。