atcoder#ABC198D. [ABC198D] Send More Money

[ABC198D] Send More Money

题目描述

英小文字からなる文字列 S1,S2,S3 S_1,S_2,S_3 が与えられます。覆面算 S1+S2=S3 S_1+S_2=S_3 を解いてください。

正確には、次の 3 3 つの条件をすべて満たすような正の整数の組 N1,N2,N3 N_1,N_2,N_3 が存在するか判定し、存在するならばそのうち 1 1 つを求めてください。
ここで、N1, N2, N3 N_1,\ N_2,\ N_3 を (先頭に余分な 0 0 をつけないで) 十進表記した文字列をそれぞれ N1, N2, N3 N'_1,\ N'_2,\ N'_3 とします。

  • Ni N'_i の文字数は、Si S_i の文字数に等しい
  • N1+N2=N3 N_1+N_2=N_3 を満たす
  • Si S_i x x 文字目と Sj S_j y y 文字目が等しいとき、またその時に限り、Ni N'_i x x 文字目と Nj N'_j y y 文字目が等しい

输入格式

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

S1 S_1 S2 S_2 S3 S_3

输出格式

条件を満たすような正整数の組 N1,N2,N3 N_1,N_2,N_3 が存在するならば、そのような組の 1 1 つを改行区切りで出力せよ。 存在しないなら、代わりに UNSOLVABLE と出力せよ。

a
b
c
1
2
3
x
x
y
1
1
2
p
q
p
UNSOLVABLE
abcd
efgh
ijkl
UNSOLVABLE
send
more
money
9567
1085
10652

提示

制約

  • S1,S2,S3 S_1,S_2,S_3 は英小文字のみからなる長さ 1 1 以上 10 10 以下の文字列

Sample Explanation 1

(N1, N2, N3) = (4,5,9) (N_1,\ N_2,\ N_3)\ =\ (4,5,9) などを出力しても正解となります。(1,1,2) (1,1,2) 3 3 つ目の条件を満たしていない (a,b がともに 1 1 に対応している) ため、不正解となります。

Sample Explanation 2

(N1, N2, N3) = (3,3,6) (N_1,\ N_2,\ N_3)\ =\ (3,3,6) などを出力しても正解となります。(1,2,3) (1,2,3) 3 3 つ目の条件を満たしていない (1,2 1,2 がともに x に対応している) ため、不正解となります。