AT_tupc2024_h.12 Grid

通过率:0%

AC君温馨提醒

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

题目描述

有一个 N×NN \times N 的网格。将自上而下第 ii 行、自左而右第 jj 列的格子记为格子 (i,j)(i,j)。

另外,给出 MM 个 44 元组 (tk,ik,jk,dk)  (k=1,2,…,M)(t_k,i_k,j_k,d_k)\; (k=1,2,\dots,M)。(t,i,j,d)(t,i,j,d) 满足以下条件:

  • tt 是 00 或 11。
  • 若 t=0t=0,则 1≤i≤N−1,1≤j≤N1 \leq i \leq N-1, 1 \leq j \leq N。
  • 若 t=1t=1,则 1≤i≤N,1≤j≤N−11 \leq i \leq N, 1 \leq j \leq N-1。
  • dd 是 11 或 22。

请判断是否存在一种向网格每个格子中填写整数的方法,使得以下所有条件都成立:

  • 每个格子填写的整数为 00 到 10910^9 之间的整数。
  • 上下左右相邻两个格子中填写的整数的差的绝对值为 11 或 22。
  • 对于每个 k=1,2,…,Mk=1,2,\dots, M,满足:
    • 若 tk=0t_k=0,则格子 (ik,jk)(i_k,j_k) 与 (ik+1,jk)(i_k+1,j_k) 中整数的差的绝对值为 dkd_k;
    • 若 tk=1t_k=1,则格子 (ik,jk)(i_k,j_k) 与 (ik,jk+1)(i_k,j_k+1) 中整数的差的绝对值为 dkd_k。

如果存在,请给出一个满足条件的填写方案。

输入格式

输入按以下格式从标准输入读入。

NN MM t1t_1 i1i_1 j1j_1 d1d_1 t2t_2 i2i_2 j2j_2 d2d_2 ⋮\vdots tMt_M iMi_M jMj_M dMd_M

输出格式

如果不存在任何满足条件的填写方法,请输出 No。

如果存在,请输出 N+1N+1 行。第 11 行输出 Yes。第 i+1i+1 (i=1,2,…,N)(i=1,2,\dots,N) 行依次输出格子 (i,1),(i,2),…,(i,N)(i,1),(i,2),\dots,(i,N) 填写的整数,空格分隔。

如果有多组答案,输出任意一组都可以。

输入输出样例

  • 输入#1

    2 3
    0 1 1 2
    1 1 1 1
    0 1 2 2

    输出#1

    Yes
    0 1
    2 3
  • 输入#2

    2 3
    0 1 1 2
    1 1 1 2
    1 2 1 1

    输出#2

    Yes
    0 2
    2 3
  • 输入#3

    2 4
    0 1 1 2
    1 1 1 2
    1 2 1 1
    0 1 2 2

    输出#3

    No

说明/提示

样例解释 1

除此之外,

Yes
5 4
3 2

等方案也都是正确答案。

样例解释 2

除此之外,

Yes
0 2
2 1

等方案也都是正确答案。

样例解释 3

不存在满足条件的填写方法。

数据范围

  • 1≤N≤10001 \leq N \leq 1000
  • 0≤M≤min⁡{2×105,2N(N−1)}0 \leq M \leq \min\{2 \times 10^5,2N(N-1)\}
  • (tk,ik,jk,dk)(t_k,i_k,j_k,d_k) 均满足题目条件
  • 若 k≠ℓk \neq \ell,则 (tk,ik,jk)≠(tℓ,iℓ,jℓ)(t_k,i_k,j_k) \neq (t_\ell,i_\ell,j_\ell)
  • 所有输入均为整数。

由 ChatGPT 5 翻译

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

首页