AT_arc203_e.[ARC203E] Tile Grid with One Hole
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个高 H 行、宽 W 列的网格,我们用 (i,j) 表示从上往下第 i 行、从左往右第 j 列的格子。网格中只有 (r,c) 这个格子有一个洞。你需要用若干块瓷砖将剩下的所有没有洞的格子完全覆盖。给定非负整数 N、M,满足 H×W=L×(N+M)+1。
横向 1 行、纵向 L 列的瓷砖称为横向瓷砖,纵向 L 行、横向 1 列的瓷砖称为纵向瓷砖。
请判断是否存在一种不旋转瓷砖的铺法,恰好用 N 块横向瓷砖和 M 块纵向瓷砖将所有非洞格子铺满。如果存在,请给出一种铺法。
关于输出方式及更严格的条件,请参见输出格式部分。
对于每个输入文件,需要解答 T 个测试用例。
输入格式
输入通过标准输入给出,格式如下:
T
case1
case2
⋮
caseT
每个测试用例的格式如下:
H W L N M r c
输出格式
请按如下格式输出答案:
output1
output2
⋮
outputT
其中,outputt 表示第 t 个测试用例的输出。
对于每个测试用例,如果存在满足条件的铺法,设第 i 块横向瓷砖最左边覆盖的格子为 (Ai,Bi),第 j 块纵向瓷砖最上边覆盖的格子为 (Cj,Dj),请按如下格式输出:
Yes A1 B1 A2 B2 ⋯ AN BN C1 D1 C2 D2 ⋯ CM DM
更严格地说,请输出满足以下所有条件的整数序列 A=(A1,A2,…,AN)、B=(B1,B2,…,BN)、C=(C1,C2,…,CM)、D=(D1,D2,…,DM):
- {(Ai,Bi+l)∣i=1,2,…,N,l=0,1,…,L−1} 与 {(Cj+l,Dj)∣j=1,2,…,M,l=0,1,…,L−1} 以及 {(r,c)} 的并集,恰好等于 {(h,w)∣h=1,2,…,H,w=1,2,…,W}。
由于有 H×W=L×(N+M)+1 这个约束,如果满足上述条件,瓷砖之间不会重叠。
如果无法满足条件,请输出 No。
输入输出样例
输入#1
3 1 3 2 1 0 1 1 1 3 2 1 0 1 2 3 3 2 1 3 1 1
输出#1
Yes 1 2 No Yes 3 2 2 1 1 2 1 3
说明/提示
限制条件
- 1≤T≤5
- 1≤H≤1000
- 1≤W≤1000
- 2≤H×W
- 2≤L≤1000
- 0≤N
- 0≤M
- 1≤r≤H
- 1≤c≤W
- H×W=L×(N+M)+1
- 所有测试用例中 N+M 的总和不超过 6×105
- 输入的所有数均为整数
样例说明 1
在第 3 个测试用例中,最左上角的格子有一个洞。可以如下铺设瓷砖:
┌─┬─┐
┌─┤ │
│ │ │
├─┴─┤
└─┴───┘
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?