3743 - 图的染色
Description
给定一个 n 个点的无向简单图(从 0 到 n-1 标号),这个图中每个点的度均不小于 n-3。你想把这个图染得花里胡哨,严格来说是你要给图中的每个点染色,要求有连边的两个点颜色不同。问最少需要多少种不同的染料颜色。

数据范围补充:

简单图:没有自环的图称为简单图。

自环:若一条边的两个顶点为同一顶点,则此边称作自环。
Input
输入第一行一个整数 n,表示图中点的个数。

接下来为 n*n 的字符矩阵(行列均从 0 到 n-1 标号),描述这个图的连接情况。其中第 i 行第 j 列的字符为 'Y' 当且仅当编号为 i 的节点和编号为 j 的节点之间有一条连边,字符为 'N' 反之。
Output
输出仅一行,一个数字表示最少需要多少种不同的染料颜色。
Examples

Input

4
NYNY
YNYY
NYNN
YYNN

Output

3
Hint
考虑这个图的补图(只考虑原图中没有的边)。完全图中每个点的度为 n-1,由于原图中每个点的度都不小于 n-3,因此补图中每个点最多有 2 条边,补图的每个连通块只能是一条链或者一个环。

补图中没有边相连的两个点颜色可以相同;而不同连通块之间的点,在原图中两两都有边,颜色必须互不相同,所以答案是各连通块所需颜色数之和。

设一个连通块有 L 个点:

- 若它是一个三角形(3 个点两两不连),整体可以同色,贡献 1;
- 其余情况(链、环、孤立点、单边)贡献 ceil(L/2)。
Source
51nod 2677
Tags
题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 1
通过次数 1