概要
atcoder.jp
問題タイプ
- 全探索.
- 1 <= N <= 3なので、最大3桁の999までの数字のどれかが答えになる(答えがある場合).
解法
- 1-3桁の999までの数字で与えられた桁数の数字とマッチする一番小さい数字を求める問題.
- 1桁目が7、3桁目が2である最低の数字は、702となる.
- 数値を文字列に変換し、与えられた条件にマッチするか判定.
- 三桁の数字、702であれば、num[0] = 7, num[1] = 0, num[2] = 2のとき、上記の1桁目が7、3桁目が2であるという条件は満たせているため、それを答えとして出力する.
Sample
n,m = map(int, input().split())
sc = [list(map(int, input().split())) for _ in range(m)]
for i in range(1000):
num = str(i)
if len(num) == n:
isValid = True
for j in range(m):
if num[sc[j][0]-1] != str(sc[j][1]):
isValid = False
break
if isValid:
print(num)
exit()
print(-1)