AT_kupc2017_j.Paint Red and Make Graph
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给你一个 H 行 W 列的棋盘。每个格子最初被染成白色或者黑色,若 ai,j 是 .,则表示第 i 行第 j 列的格子是白色;若 ai,j 是 #,则该格子是黑色。你的任务是将一些白色格子涂成红色,并满足以下条件:
- 每一行和每一列至少要有一个红色格子。
- 构建一个图,使其满足:
- 为每个红色格子创建一个顶点(因此,顶点数与红色格子数相等)。
- 在同一行或同一列上的红色格子对应的顶点之间连一条边。
- 整个图要保持连通。
请找到白色格子涂成红色的最少数量,并计算出这种情况下的所有方案数,答案对 109+7 取模。如果没有符合条件的方案,输出 -1。
输入格式
输入是标准输入,格式如下:
H W
a1,1 … a1,W
...
aH,1 … aH,W
输出格式
输出一行,包括两个整数:第一个是最小化后需要涂成红色的格子数,第二个是所有满足条件的方案数对 109+7 取模的结果。如果无解,输出 -1。
输入输出样例
输入#1
2 3 ... .#.
输出#1
4 4
输入#2
2 3 #.. .##
输出#2
-1
输入#3
3 10 ...#...#.. #...#...#. ..##......
输出#3
12 35640
输入#4
6 6 ...... ...... ...... ...... ...... ......
输出#4
11 60466176
说明/提示
- 1≤H≤104
- 1≤W≤50
- H 和 W 均为整数。
- ai,j 为
.或#。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?