AT_agc021_c.[AGC021C] Tiling

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

高桥君有一个纵向 NN 行、横向 MM 列的网格。请判断能否在满足以下所有条件的情况下,将 AA 块纵向 11 行横向 22 列的瓷砖和 BB 块纵向 22 行横向 11 列的瓷砖放在网格上,并在可能时给出一种摆放方式。

  • 必须将所有瓷砖都放在网格上。
  • 瓷砖不能超出网格范围,且不同的瓷砖之间不能重叠。
  • 不允许旋转网格或瓷砖。
  • 所有瓷砖都必须完全覆盖正好 22 个格子。

输入格式

输入从标准输入按以下格式给出。

NN MM AA BB

输出格式

如果无法放置所有瓷砖,输出 NO。否则,按如下格式输出:

YES
c11...c1Mc_{11}...c_{1M}
::
cN1...cNMc_{N1}...c_{NM}

其中,cijc_{ij} 表示网格第 ii 行第 jj 列的状态,必须是下列字符之一:.、<、>、^、v。

当 cijc_{ij} 为:

  • . 时,表示网格第 ii 行第 jj 列未被瓷砖覆盖;
  • < 时,表示该格被纵向 11 行横向 22 列瓷砖的左半部分覆盖;
  • > 时,表示该格被纵向 11 行横向 22 列瓷砖的右半部分覆盖;
  • ^ 时,表示该格被纵向 22 行横向 11 瓷砖的上半部分覆盖;
  • v 时,表示该格被纵向 22 行横向 11 瓷砖的下半部分覆盖。

输入输出样例

  • 输入#1

    3 4 4 2

    输出#1

    YES
    <><>
    ^<>^
    v<>v
  • 输入#2

    4 5 5 3

    输出#2

    YES
    <>..^
    ^.<>v
    v<>.^
    <><>v
  • 输入#3

    7 9 20 20

    输出#3

    NO

说明/提示

限制条件

  • 1≤N,M≤10001 \leq N, M \leq 1000
  • 0≤A,B≤5000000 \leq A, B \leq 500000
  • N,M,A,BN, M, A, B 均为整数

样例说明 1

在一个 33 行 44 列的网格上,放置 44 块纵向 11 行横向 22 列的瓷砖和 22 块纵向 22 行横向 11 列的瓷砖的一种方式如下所示,具体可见输出样例。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页