#CF1991D. Prime XOR Coloring
Prime XOR Coloring
D. 质数异或染色
时间限制:2 秒
空间限制:256 MB
给定一个包含 个顶点的无向图,顶点编号从 到 。顶点 和 之间有边当且仅当 是质数,其中 表示按位异或运算。
请你用最少的颜色给图的所有顶点染色,使得任意一条边连接的两个顶点颜色不同。
输入格式
第一行包含一个整数 ()—— 测试数据的组数。
接下来 行,每行包含一个整数 ()—— 图的顶点个数。
保证所有测试数据的 之和不超过 。
输出格式
对于每组测试数据,输出两行:
- 第一行输出一个整数 ()—— 需要使用的最少颜色数。
- 第二行输出 个整数 ()—— 每个顶点的颜色。
如果有多组解,输出任意一组均可。
样例输入
6
1
2
3
4
5
6
样例输出
1
1
2
1 2
2
1 2 2
3
1 2 2 3
3
1 2 2 3 3
4
1 2 2 3 3 4
样例解释
- 第一组:只有 个顶点,最少需要 种颜色。
- 第二组:顶点 和 之间有边(,是质数),最少需要 种颜色。
- 第三组:顶点 和 之间可以同色,因为 不是质数,最少颜色仍是 。
- 第四组:可以证明最少需要 种颜色。
- 第五组:最少需要 种颜色。
- 第六组:可以证明最少需要 种颜色。