Problemstellung
Wenn es Ganzzahlen größer oder gleich $ 0 $ gibt, die die folgenden Bedingungen erfüllen, geben Sie die kleinste davon aus. Wenn keine solche Ganzzahl vorhanden ist, drucken Sie $ -1 $. Es ist genau $ N $ in Dezimalschreibweise. ($ 0 $ ist eine Ganzzahl mit $ 1 $ Ziffern. Bei anderen Ganzzahlen ist die Notation mit 0 am Anfang nicht zulässig.) Von links gezählt, ist die Ziffer $ s_i $ $ c_i $. $ (i = 1,2, ⋯, M) $
Einschränkungen
Alle Eingaben sind ganze Zahlen
Aus der Problemstellung geht hervor, dass die zu berechnende Ganzzahl 3-stellig ist, sodass wir durch Runden berechnen.
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)
Das if in der Sekunde für verwendet die Funktion all. Die Funktion all gibt True zurück, wenn alle Elemente eines Objekts, z. B. Listen und Taples, true sind. Hier wird beurteilt, ob alle Bedingungen erfüllt sind.
Recommended Posts