[PYTHON] Brown Coder hat versucht, den Panasonic Contest 2020A ~ C zu lösen

Einführung

Panasonic Programming Contest 2020 3 Complete (Python3 95:30 8WA) Ich werde die Lösung von A ~ C veröffentlichen.

Klicken Sie hier, um den Link zum Panasonic Programming Contest 2020 zu erhalten https://atcoder.jp/contests/panasonic2020

Inhaltsverzeichnis

A-Kth Term

Problemstellung

Geben Sie den K-ten Term der folgenden Sequenz der Länge 32 aus.

1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51

https://atcoder.jp/contests/panasonic2020/tasks/panasonic2020_a

Ich denke, dass Sie diese Zahlenfolge in die Liste aufnehmen und die K-te Eingabe ausgeben sollten.

Einreichungscode

main.py


k = int(input())
x = [1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51]
print(x[k-1])

B-Bishop

Problemstellung

Es gibt vertikale H-Masse- und horizontale W-Masse-Platten. In das Quadrat in der oberen linken Ecke dieses Bretts wird ein quadratisches Stück gelegt. Wie viele Quadrate können erreicht werden, indem Sie die Bewegung von 0 oder mehr Teilen so oft wiederholen, wie Sie möchten? Wenn sich der Rahmen beispielsweise in der Abbildung befindet, ist das rote Quadrat der Ort, an dem Sie sich gleichzeitig bewegen können. https://atcoder.jp/contests/panasonic2020/tasks/panasonic2020_b

Ich kann es überhaupt nicht verstehen, selbst wenn ich auf die Problemstellung schaue. Wenn Sie sich also die Zahlen in Eingabebeispiel 1 und Eingabebeispiel 2 ansehen, werden Sie feststellen, dass die farbigen Zellen die Zahlen sind, die durch Aufrunden der Anzahl der Zellen hw / 2 erhalten werden.

Wenn jedoch h = 1 oder w = 1 ist, wie in der folgenden Abbildung gezeigt, beträgt die Anzahl der farbigen Zellen 1.

Einreichungscode

main.py


import math
h,w = map(int, input().split(' '))
if h == 1 or w == 1:
    print(1)
else:
    res = math.ceil(h*w / 2)
    print(res)

C-Sqrt Inequality

Problemstellung

$ \ Sqrt {a} + \ sqrt {b} <\ sqrt {c} $? https://atcoder.jp/contests/panasonic2020/tasks/panasonic2020_c

Schreiben wir den Code so wie er ist mit der Problemstellung.

main.py


import math

a,b,c = map(int, input().split(' '))
if math.sqrt(a) + math.sqrt(b) < math.sqrt(c):
    print('Yes')
else:
    print('No')

In diesem Fall wird WA angezeigt. Deshalb Von $ \ sqrt {a} + \ sqrt {b}> 0 $ und $ \ sqrt {c}> 0 $ \sqrt{a}+\sqrt{b}<\sqrt{c} \Rightarrow a+2\sqrt{ab}+b \Rightarrow 4ab < (c-a-b)^2 Um zu verhindern, dass es zu einem unendlichen Bruchteil wird. Dies verhindert einen Ziffernverlust. Unten ist der Code, der den Unterschied bestätigt hat. Sicher wird WA herauskommen.

Nachtrag: Der folgende Code war falsch und wurde behoben. (2020/3/16)

check.py


from math import sqrt as sq
a = 250000000
b = 250000000
c = 10**9
while sq(a) + sq(b) >= sq(c):
    a += 1
    b -= 1
    print(a,b)
    print(4*a*b, (c-a-b)**2)
    print(sq(a)+sq(b)<sq(c))
    print(4*a*b < (c-a-b)**2)
250000001 249999999
249999999999999996 250000000000000000
False
True
250000002 249999998
249999999999999984 250000000000000000
False
True
250000003 249999997
249999999999999964 250000000000000000
False
True
250000004 249999996
249999999999999936 250000000000000000
False
True
250000005 249999995
249999999999999900 250000000000000000
False
True
250000006 249999994
249999999999999856 250000000000000000
False
True
250000007 249999993
249999999999999804 250000000000000000
True
True

Einreichungscode

main.py


import math

a,b,c = map(int, input().split(' '))
x = 4 * a * b
y = c - a -b
if y <= 0:
    print('No')
elif  x < y**2:
    print('Yes')
else:
    print('No')

Es kann auch c-a-b <0 sein.

Recommended Posts

Brown Coder hat versucht, den Panasonic Contest 2020A ~ C zu lösen
[Wettkampfpraxis] Ich habe den AtCoder Beginner Contest 175 (A ~ C) ausprobiert.
Ich wollte den Panasonic Programming Contest 2020 mit Python lösen
Ich habe versucht, das Problem der Kombinationsoptimierung mit Qiskit zu lösen
Löse ABC163 A ~ C mit Python
So fügen Sie MicroPython ein C-Modul hinzu ...
Löse ABC168 A ~ C mit Python
[Python] Jetzt ein brauner Codierer ~ [AtCoder]
Löse ABC036 A ~ C mit Python
Löse ABC162 A ~ C mit Python
Löse ABC167 A ~ C mit Python
Löse ABC158 A ~ C mit Python
Löse ABC037 A ~ C mit Python
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Löse ABC175 A, B, C mit Python
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Der heutige AtCoder ~ Der Weg zum Brown Coder ~
Ich habe versucht, Optuna die Nummer lösen zu lassen
Ich habe eine Web-API erstellt
Ich habe versucht, TSP mit QAOA zu lösen
Ich habe versucht, eine Super-Resolution-Methode / ESPCN zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich wollte den NOMURA Contest 2020 mit Python lösen
Löse A ~ D des Yuki-Codierers 247 mit Python
Ich habe versucht, eine zufällige Zeichenfolge zu generieren
Ich habe versucht, ein Python 3-Modul in C hinzuzufügen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
[Keras] Ich habe versucht, das Problem der Klassifizierung des Donut-Typ-Bereichs durch maschinelles Lernen zu lösen. [Studie]
AtCoder Beginner Contest 177 Problem C Ich habe versucht herauszufinden, warum es falsch war