atcoder#ARC127B. [ARC127B] Ternary Strings

[ARC127B] Ternary Strings

题目描述

整数 N,L N,L が与えられます. 以下の条件をすべて満たす 3N 3N 個の文字列の組 (S1,S2,,S3N) (S_1,S_2,\cdots,S_{3N}) を一つ求めてください.

  • Si S_i 0, 1, 2 からなる長さ L L の文字列である.

  • Si S_i はすべて互いに異なる.

  • すべての j j (1  j  L 1\ \leq\ j\ \leq\ L ) および c= c= 0, 1, 2 について,次が成り立つ.

    • Si S_i のうち,j j 文字目が c c であるようなものはちょうど N N 個存在する.
  • S1,S2,,S3N S_1,S_2,\cdots,S_{3N} の中で,辞書順で最も大きい文字列を t t で表すことにする. このときの t t は,t t としてありうる文字列の中で辞書順最小の文字列である.

输入格式

入力は以下の形式で標準入力から与えられる.

N N L L

输出格式

以下の形式で答えを出力せよ.

S1 S_1 S2 S_2 \vdots S3N S_{3N}

なお,条件を満たす解が複数存在する場合,どれを出力しても正解とみなされる.

题目大意

给定 NNLL,你要构造 3×N3\times N 个长度为 LL 的串,满足以下要求。

  • 构造的串两两不同。

  • 对于所有字符串的每一位,00,11,22 各出现了 NN 次。

  • 字典序最大的串字典序最小。

2 2
00
02
11
12
20
21

提示

制約

  • 1  N  5 × 104 1\ \leq\ N\ \leq\ 5\ \times\ 10^4
  • 1  L  15 1\ \leq\ L\ \leq\ 15
  • 3N  3L 3N\ \leq\ 3^L
  • 入力される値はすべて整数である

Sample Explanation 1

この出力例はすべての条件を満たしています. 例えば,2 2 文字目が 0 であるような文字列は 2 2 個存在しています. また,この例では t= t= 21 ですが,t t がこれより辞書順で小さくなることはありません.