備忘録

徒然なるままに。

プログラミング学習記#1

前回まで競プロ典型を進めていたがだいぶバタバタしてしまい間が空いてしまったため、記憶の呼び起こしと基礎の徹底を兼ねてAtCoder内にある「競技プログラミングの鉄則 演習問題集」を進めてみようと思う。
暫くは本当に基礎的な部分なので考察等を逐一載せることはあまりせず(必要に応じて簡単なコメントくらいは書こうと思う)、進捗可視化程度に答えをバーッと書いていこうと思う。

                                  • -

ところで余談。
・B'zのLIVE-GYM2023に行ってきた。前回はUNITEだったので約2年ぶりのライブ。
スタジアム2公演に参戦したが暑さが最大の敵だった。個人的には
JAP THE RIPPER
君の中で踊りたい2023
It's showtime!!
辺りが最高だった。席も運良く最前近くで見ることが出来たり印象深いライブとなった。

                                  • -

では本編。

A01
こんな丁寧に書く必要ない。

N = int(input())

ans = N * N

print(ans)

A02
慣れるまではやや丁寧に書いていく。リハビリ。

N, X = map(int, input().split())
num_list = list(map(int, input().split()))

result = X in num_list

if result:
  print("Yes")
else:
  print("No")

A03
ただリストを回して合わせて,,,も良かったけれどもう少し別のルートで書きたかった。結果的に実行時間は長くなった。

import numpy as np
N, K = map(int,input().split())

P = np.array(list(map(int, input().split())))
Q = np.array(list(map(int, input().split())))

P = K - P

if not set(P).isdisjoint(Q):
    print("Yes")
else:
    print("No")

書き直したver.

N, K = map(int,input().split())

P = list(map(int, input().split()))
Q = list(map(int, input().split()))

result = False

for i in range(N):
    for j in range(N):
        if P[i]+Q[j] == K:
            print("Yes")
            result = True
            exit()
            
if not result:
    print("No")

今回はここまで。次回はA04から。