Énoncé du problème
S'il existe des entiers supérieurs ou égaux à $ 0 $ qui satisfont aux conditions suivantes, indiquez le plus petit d'entre eux. Si aucun entier n'existe, affichez $ -1 $. C'est exactement le chiffre $ N $ en notation décimale. ($ 0 $ est un nombre entier de $ 1 $. Pour les autres entiers, la notation avec 0 au début n'est pas autorisée.) À partir de la gauche, le chiffre $ s_i $ est $ c_i $. $ (i = 1,2, ⋯, M) $
Contraintes
Toutes les entrées sont des entiers
À partir de l'énoncé du problème, l'entier à calculer est de 3 chiffres, nous allons donc calculer en arrondissant.
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)
Le if dans le second pour utilise la fonction all. La fonction all renvoie True lorsque tous les éléments d'un objet, tels que les listes et les taples, sont vrais. Ici, on juge si toutes les conditions sont remplies.
Recommended Posts