問題一覧 > 通常問題

No.470 Inverse S+T Problem

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 111
作問者 : ぴろず / テスター : kimiyuki
23 ProblemId : 1425 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2016-12-19 15:57:15

問題文

文字列S,Tに対して、STを結合したものをS+Tで表します。

N個の長さ3の文字列U1,U2,,UNが与えられます。
1iNについてSi+Ti=Uiとなるような、2N個の相異なる空でない文字列S1,S2,,SN,T1,T2,,TNを求めて下さい。

入力

N
U1
U2

UN

1行目に文字列の個数Nが与えられます。
続くN行は入力の文字列です。i+1行目にUiが与えられます。

1N105
Uiは長さ3の文字列であり、小文字のaからzまたは大文字のAからZまでの文字のみを含む。

出力

この問題はスペシャルジャッジです。

条件を満たす文字列S1,S2,,SN,T1,T2,,TNが存在しない時、Impossibleと出力して下さい。
そうでない時、1行目からN行目まで、i行目にSiTiをスペース区切りで出力してください。
このとき条件を満たしていればいずれの解も正解とみなされます。
最後に改行してください。

サンプル

サンプル1
入力
3
abc
abd
cbc
出力
a bc
ab d
cb c

S1=a,T1=bc
S2=ab,T2=d
S3=cb,T3=c
とすれば、条件を満たすことができます。
このケースでは、これが唯一の答えです。

サンプル2
入力
2
aaa
aaa
出力
Impossible

条件を満たすSi,Tiが存在しないので、Impossibleを出力します。
SiTiは空でない必要があることに注意して下さい。

サンプル3
入力
2
aaa
AAA
出力
a aa
A AA

大文字と小文字は区別してください。
a aa
AA A
などの他の答えも存在します。

サンプル4
入力
10
kgb
cih
blm
kee
lgj
dcl
bam
ibc
mca
lkf
出力
k gb
c ih
b lm
ke e
l gj
d cl
ba m
i bc
mc a
lk f

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。