B - おとぎの国の高橋君 Editorial

Time Limit: 2 sec / Memory Limit: 64 MiB

問題文

高橋君の住むAtCoder国では、私達が普段使用する数字と同様に 1010 個のアラビア数字 (09)(0-9)1010 進数が使われています。
しかし、私達が普段使用する数字は大小関係が 0<1<2<3<4<5<6<7<8<90<1<2<3<4<5<6<7<8<9 の順になっているのに対して、 AtCoder国の数字ではその大小関係が異なっています。
例えば、AtCoder国の数字では 0<9<8<7<6<5<4<3<2<10<9<8<7<6<5<4<3<2<1 の順になっている場合、AtCoder国では 99 よりも 88 の方が大きいことになります。また、9797 よりも 7272 の方が大きいことになります。

AtCoder国の数字の大小関係といくつかの数が与えられるので、AtCoder国の数字の大小関係で昇順に並び替えてください。
なお、私達が普段使用する数字同様、AtCoder国で最も小さい数字は 00 であることは決まっています。

入力

入力は以下の形式で標準入力から与えられる。
b0b_0 b1b_1 ‥‥ b9b_9
NN
a0a_0
a1a_1
:
:
aN1a_{N-1}
  • 入力は N+2N+2 行ある。
  • 11 行目には、AtCoder国での 11 桁の数字の大小関係が与えられる。
    • AtCoder国では b0<b1<...<b9b_0 < b_1 < ... < b_9 であることを表している。
    • b0b_0 は必ず 00 である。
    • 重複する数字は存在せず、00 から 99 までの数字が 11 度ずつ現れる。
  • 22 行目には並び替える数の個数を表す整数 N(1N777)N(1≦N≦777) が与えられる。
  • 33 行目からの NN 行には、j+3j+3 行目に並び替える数を表す整数 aj(1aj777,777,777)a_j(1≦a_j≦777,777,777) が与えられる。

出力

与えられた数をAtCoder国の数字の大小関係にあわせて昇順に並び替え、標準出力に 11 行に 11 つの数字ずつ出力せよ。
なお、最後には改行を出力せよ。

入力例 1

0 8 1 3 5 4 9 7 6 2
10
1
2
3
4
5
6
7
8
9
10

出力例 1

8
1
3
5
4
9
7
6
2
10
  • AtCoder国ではこの大小関係の場合、0,8,1,3,5,4,9,7,6,2,80,88,81,83,...,86,82,10,18,11,...0, 8, 1, 3, 5, 4, 9, 7, 6, 2, 80, 88, 81, 83, ..., 86, 82, 10, 18, 11, ... の順に大きくなるので、答えは上記の順になります。

入力例 2

0 9 8 7 6 5 4 3 2 1
3
13467932
98738462
74392

出力例 2

74392
98738462
13467932
  • 55 桁の数は 88 桁の数よりも小さいので、11 番は 7439274392 になります。
  • 98738462987384621346793213467932 では最上位の 9911 より小さいので、987384629873846222 番目、134679321346793233 番目になります。

入力例 3

0 1 2 3 4 5 6 7 8 9
4
643
1234
43
909

出力例 3

43
643
909
1234
  • 私達の普段使用する数と同じ大小関係に昇順に並べます。

入力例 4

0 7 4 3 9 5 6 2 1 8
2
333
333

出力例 4

333
333

入力例 5

0 2 4 6 8 1 3 5 7 9
1
10

出力例 5

10

Source Name

ARC 009


2026-04-19 (Sun)
21:23:41 +09:00