#問題文
以下の条件を満たす$0$以上の整数が存在すれば、それらのうち最小のものを出力してください。そのような整数が存在しなければ、$-1$と出力してください。
十進表記で丁度$N$桁である。($0$は$1$桁の整数とする。その他の整数については、先頭に0をつけた表記は認めない。)
左から数えて$s_i$桁目は$c_i$である。$(i=1,2,⋯,M)$
#制約
入力は全て整数
$1≤N≤3$
$0≤M≤5$
$1≤s_i≤N$
$0≤c_i≤9$
#解法
問題文より、求める整数は3桁なので総当たりで計算していきます。
N, M = map(int,input().split())
s = []
c = []
for i in range(M):
S, C = map(int,input().split())
s.append(S)
c.append(C)
for i in range(10 ** (N + 1)):
Str = str(i)
if len(Str) == N and all([Str[s[j] - 1] == str(c[j]) for j in range(M)]):
print(Str)
exit()
print(-1)
二個目のforのなかのifはall関数を使用しています。all関数はリストやタプルのようなオブジェクトの要素のすべてが真のときにTrueを返します。ここですべての条件が一致いているかどうか判定しています。