難易度評価

難易度を1〜10段階で評価できます。投票はあとから変更・取り消しできます。

難易度(投票) 未投票 (0票)

投票の分布

まだ投票はありません。

  1. Lv.10票
  2. Lv.20票
  3. Lv.30票
  4. Lv.40票
  5. Lv.50票
  6. Lv.60票
  7. Lv.70票
  8. Lv.80票
  9. Lv.90票
  10. Lv.100票

難易度の目安を見る ↗

ログインして難易度を投票

外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

Maximise Concatnated Number

作成者 loop0919

難易度(作成者設定) Lv.3

難易度(投票) 未投票 (0票)

実行時間制限
2 秒
メモリ制限
512 MiB

問題文

各要素が数字(0-9)のみからなる文字列である、長さ NN の列が 22 つ与えられます。与えられる列はそれぞれ A=(A1,A2,⋯ ,AN), B=(B1,B2,⋯ ,BN)A = (A_1, A_2, \cdots, A_N), ~ B = (B_1, B_2, \cdots, B_N) です。

以下の条件を満たす長さ NN の文字列の列 C=(C1,C2,⋯ ,CN)C = (C_1, C_2, \cdots, C_N) を考えます。

  • 各整数 i (1≤i≤N)i ~ (1 \le i \le N) について、 Ci=AiC_i = A_i または Ci=BiC_i = B_i を満たす。

C1,C2,⋯ ,CNC_1, C_2, \cdots, C_N をこの順に結合し、(先頭の余分なゼロを除いて)十進表記の整数として解釈したときの値として考えられる最大値を求めてください。

ここで、すべての文字が 0 である文字列を、先頭の余分なゼロを除いて十進表記の整数として解釈したときの値は 00 であるとします。

TT 個のテストケースが与えられるので、それぞれについて答えてください。

制約

  • 1≤T≤1041 \le T \le 10^4
  • 1≤N≤1051 \le N \le 10^5
  • すべてのテストケースにおける NN の総和は 10510^5 を超えない
  • T,NT, N は整数
  • Ai,Bi (1≤i≤N)A_i, B_i ~ (1 \le i \le N) は数字(0-9)からなる長さ 11 以上 1010 以下の文字列

入力

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

TT case1\mathrm{case}_1 case2\mathrm{case}_2 ⋮\vdots caseT\mathrm{case}_T

各テストケース caset (1≤t≤T)\mathrm{case}_t ~ (1 \leq t \leq T) は以下の形式で与えられる。

NN A1A2…ANA_1 \quad A_2 \quad \ldots \quad A_N B1B2…BNB_1 \quad B_2 \quad \ldots \quad B_N

出力

TT 行出力せよ。 tt 行目には tt 番目のテストケースについての答えを出力せよ。

サンプル 1

入力

3
3
002 1 48
3 01 41
5
01 012 0123 01234 012345
0000 0000 0000 0000 0000
2
00000 00
000 000

出力

30148
10000012301234012345
0