Row and Column Order

AtCoder
IDarc181_c
Time2000ms
Memory256MB
Difficulty
You are given two permutations $P=(P_1,P_2,\dots,P_N)$ and $Q=(Q_1,Q_2,\dots,Q_N)$ of $(1,2,\dots,N)$. Write one of the characters `0` and `1` in each cell of an $N$\-by-$N$ grid so that all of the following conditions are satisfied: * Let $S_i$ be the string obtained by concatenating the characters in the $i$\-th row from the $1$\-st to the $N$\-th column. Then, $S_{P_1} < S_{P_2} < \dots < S_{P_N}$ in lexicographical order. * Let $T_i$ be the string obtained by concatenating the characters in the $i$\-th column from the $1$\-st to the $N$\-th row. Then, $T_{Q_1} < T_{Q_2} < \dots < T_{Q_N}$ in lexicographical order. It can be proved that for any $P$ and $Q$, there is at least one way to write the characters that satisfies all the conditions. What does "$X < Y$ in lexicographical order" mean?For strings $X=X_1X_2\dots X_{|X|}$ and $Y = Y_1Y_2\dots Y_{|Y|}$, "**$X < Y$ in lexicographical order**" means that 1. or 2. below holds. Here, $|X|$ and $|Y|$ denote the lengths of $X$ and $Y$, respectively. 1. $|X| \lt |Y|$ and $X_1X_2\ldots X_{|X|} = Y_1Y_2\ldots Y_{|X|}$. 2. There exists an integer $1 \leq i \leq \min\lbrace |X|, |Y| \rbrace$ such that both of the following are true: * $X_1X_2\ldots X_{i-1} = Y_1Y_2\ldots Y_{i-1}$ * $X_i$ is less than $Y_i$. ## Constraints * $2 \leq N \leq 500$ * $P$ and $Q$ are permutations of $(1,2,\dots,N)$. * All input values are integers. ## Input The input is given from Standard Input in the following format: $N$ $P_1$ $P_2$ $\dots$ $P_N$ $Q_1$ $Q_2$ $\dots$ $Q_N$ [samples]
Samples
Input #1
3
1 2 3
2 1 3
Output #1
001
101
110

In this sample, $S_1=$`001`, $S_2=$`101`, $S_3=$`110`, and $T_1=$`011`, $T_2=$`001`, $T_3=$`110`. Therefore, $S_1 < S_2 < S_3$ and $T_2 < T_1 < T_3$ hold, satisfying the conditions.
Input #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
Output #2
010001111110101
001000000101001
010001001100010
010000011110010
010011101101101
100101110100000
111100011001000
000001001100000
100011011000101
000111101011110
101010101010101
011010101011110
010011000010011
100110010110101
000101101100100
API Response (JSON)
{
  "problem": {
    "name": "Row and Column Order",
    "description": {
      "content": "You are given two permutations $P=(P_1,P_2,\\dots,P_N)$ and $Q=(Q_1,Q_2,\\dots,Q_N)$ of $(1,2,\\dots,N)$. Write one of the characters `0` and `1` in each cell of an $N$\\-by-$N$ grid so that all of the fo",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc181_c"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You are given two permutations $P=(P_1,P_2,\\dots,P_N)$ and $Q=(Q_1,Q_2,\\dots,Q_N)$ of $(1,2,\\dots,N)$.\nWrite one of the characters `0` and `1` in each cell of an $N$\\-by-$N$ grid so that all of the fo...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments