AT_arc208_d.[ARC208D] Symmetric Matrix

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 Y=(Y1,Y2,…,YN)Y=(Y_1,Y_2,\ldots,Y_N),其中每个元素都在 11 到 NN 之间(包含 11 和 NN)。

判断是否存在一个 N×NN \times N 的整数矩阵 A=(Ai,j)A=(A_{i,j})(1≤i,j≤N1 \le i, j \le N),满足如下所有条件,并在存在时给出一种构造方案:

  • 1≤Ai,j≤N1\le A_{i,j} \le N (1≤i≤N, 1≤j≤N1\le i \le N,\ 1\le j\le N)。
  • Ai,j=Aj,iA_{i,j}=A_{j,i} (1≤i≤N, 1≤j≤N1\le i\le N,\ 1\le j\le N)。
  • Ai,j1≠Ai,j2A_{i,j_1} \neq A_{i,j_2} (1≤i≤N, 1≤j1<j2≤N1\le i\le N,\ 1\le j_1 < j_2 \le N)。
  • Ai,Yi=1A_{i,Y_i} = 1 (1≤i≤N1\le i\le N)。

共有 TT 组测试数据,依次解决每组数据。

输入格式

输入从标准输入读入,格式如下:

TT

case1\text{case}_1

case2\text{case}_2

⋮\vdots

caseT\text{case}_T

每组测试数据的格式如下:

NN

Y1Y_1

Y2Y_2

…\ldots

YNY_N

输出格式

请按照输入顺序输出每组测试数据的答案,每组结果之间用换行分隔。

对于每一组数据,如果不存在满足条件的矩阵 AA,输出 No。

否则,输出满足条件的矩阵 AA,格式如下:

Yes

A1,1A_{1,1} A1,2A_{1,2} …\ldots A1,NA_{1,N}

A2,1A_{2,1} A2,2A_{2,2} …\ldots A2,NA_{2,N}

⋮\vdots

AN,1A_{N,1} AN,2A_{N,2} …\ldots AN,NA_{N,N}

如果有多个 AA 满足要求,输出任意一个均可。

输入输出样例

  • 输入#1

    4
    3
    1 3 2
    3
    1 2 3
    1
    1
    5
    1 3 2 5 4

    输出#1

    Yes
    1 2 3
    2 3 1
    3 1 2
    No
    Yes
    1
    Yes
    1 2 5 4 3
    2 3 1 5 4
    5 1 4 3 2
    4 5 3 2 1
    3 4 2 1 5

说明/提示

样例解释 1

以第一个测试用例为例,可以验证样例输出中的 AA 确实满足所有条件。除此之外,例如如下 AA 也同样符合要求:

1 3 2
3 2 1
2 1 3

数据范围

  • 1≤T≤50001\le T\le 5000
  • 1≤N≤5001\le N \le 500
  • 所有测试用例的 N2N^2 之和不超过 5002500^2。
  • 1≤Yi≤N1\le Y_i\le N
  • 所有输入数值均为整数。

由 ChatGPT 5 翻译

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

首页