https://atcoder.jp/contests/abc157
n = int(input())
ans = n//2 + 1 if n % 2 else n//2
print(ans)
Die Ausgabe wurde danach klassifiziert, ob n gerade oder ungerade war. Einreichung https://atcoder.jp/contests/abc157/submissions/10518520 Referenz: Dreiecksoperator (Python)
B
a = [list(map(int, input().split())) for _ in range(3)]
n = int(input())
b = [int(input()) for _ in range(n)]
mark = [[False, False, False] for _ in range(3)]
for i in range(3):
for j in range(3):
if a[i][j] in b:mark[i][j] = True
ans = 'No'
for i in range(3):
if all(mark[i]):
ans = 'Yes'
break
for j in range(3):
if mark[0][j] and mark[1][j] and mark[2][j]:
ans = 'Yes'
break
if (mark[0][0] and mark[1][1] and mark[2][2]) or (mark[0][2] and mark[1][1] and mark[2][0]): ans = 'Yes'
print(ans)
Ich habe eine zweidimensionale Liste "Markierung" erstellt, aus der hervorgeht, ob sie markiert wurde oder nicht, und sie als "Wahr" markiert. (Wenn Sie beim Empfang der Eingabe markieren, benötigen Sie die Liste "a" nicht, um die Eingabe zu speichern.) Überprüfen Sie danach, ob horizontales Bingo, vertikales Bingo und diagonales Bingo eingerichtet sind.
Einreichung https://atcoder.jp/contests/abc157/submissions/10444407
C
n, m = map(int, input().split())
sc = [list(map(int, input().split())) for _ in range(m)]
ans = float('inf')
k = 0
if n == 2: k = 10
elif n == 3: k = 100
for i in range(k, 1000):
flg = True
for s, c in sc:
if list(str(i))[s-1] == str(c): continue
flg = False
if flg:
ans = i
break
if ans == float('inf'): ans = -1
print(ans)
Da N und M klein sind, habe ich alle Zahlen im Bereich der kleineren ausprobiert, und wenn es eine entsprechende gab, habe ich versucht, die Schleife zu verlassen und auszugeben.
Einreichung: https://atcoder.jp/contests/abc157/submissions/10518841
Ich möchte es hinzufügen, wenn ich AC kann.
Recommended Posts