AT_arc181_c.[ARC181C] Row and Column Order

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定 $ (1,2,\dots,N) $ 的两个排列 $ P=(P_1,P_2,\dots,P_N),\ Q=(Q_1,Q_2,\dots,Q_N) $。

请在 $ N $ 行 $ N $ 列的网格的每个格子中填入字符 0 或 1,使得以下所有条件均成立:

  • 设第 $ i $ 行的格子按 $ 1,2,\dots,N $ 列的顺序连接成字符串 $ S_i $,则有 $ S_{P_1} < S_{P_2} < \dots < S_{P_N} $(按字典序)。
  • 设第 $ i $ 列的格子按 $ 1,2,\dots,N $ 行的顺序连接成字符串 $ T_i $,则有 $ T_{Q_1} < T_{Q_2} < \dots < T_{Q_N} $(按字典序)。

可以证明,无论 $ P,Q $ 如何,至少存在一种满足所有条件的填法。

字典序 $ X < Y $ 的定义如下:对于字符串 $ X=X_1X_2\dots X_{|X|} $ 和 $ Y=Y_1Y_2\dots Y_{|Y|} ,∗∗,** X < Y $ 按字典序成立**,当且仅当满足以下两条之一。这里 $ |X|,\ |Y| $ 分别表示 $ X,\ Y $ 的长度。

  1. $ |X| < |Y| $ 且 $ X_1X_2\ldots X_{|X|} = Y_1Y_2\ldots Y_{|X|} $。
  2. 存在整数 $ 1 \leq i \leq \min\lbrace |X|, |Y| \rbrace $,使得以下两点都成立:
    • $ X_1X_2\ldots X_{i-1} = Y_1Y_2\ldots Y_{i-1} $
    • $ X_i $ 小于 $ Y_i $。

输入格式

输入通过标准输入给出,格式如下:

$ N $ $ P_1 $ $ P_2 $ $ \dots $ $ P_N $ $ Q_1 $ $ Q_2 $ $ \dots $ $ Q_N $

输出格式

请输出一种满足条件的填法。令 $ A_{ij} $ 表示第 $ i $ 行第 $ j $ 列的字符,输出格式如下:

$ A_{11}A_{12}\dots A_{1N} $
$ \vdots $
$ A_{N1}A_{N2}\dots A_{NN} $

如果存在多种满足条件的填法,输出任意一种均可。

输入输出样例

  • 输入#1

    3
    1 2 3
    2 1 3

    输出#1

    001
    101
    110
  • 输入#2

    15
    8 15 10 2 4 3 1 13 5 12 9 6 14 11 7
    4 1 5 14 3 12 13 7 11 8 6 2 9 15 10

    输出#2

    010001111110101
    001000000101001
    010001001100010
    010000011110010
    010011101101101
    100101110100000
    111100011001000
    000001001100000
    100011011000101
    000111101011110
    101010101010101
    011010101011110
    010011000010011
    100110010110101
    000101101100100

说明/提示

数据范围

  • $ 2 \leq N \leq 500 $
  • $ P,Q $ 是 $ (1,2,\dots,N) $ 的排列
  • 输入均为整数

样例解释 1

对于本样例,$ S_1 = ‘001‘,`001`, S_2 = ‘101‘,`101`, S_3 = ‘110‘,`110`, T_1 = ‘011‘,`011`, T_2 = ‘001‘,`001`, T_3 = $110。因此 $ S_1 < S_2 < S_3 $ 且 $ T_2 < T_1 < T_3 $,满足条件。

由 ChatGPT 4.1 翻译

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

首页