スポンサーリンク
AtCorder 254、飲みに行ってしまい参加できませんでした。
後日、やってみたのですが、A, Bしか解けませんでした。
最近はモチベーションが下がり気味ですが、復習だけはしておきます。
参考にする回答はこちら
https://qiita.com/u2dayo/items/e5f0a0f02c530f12b03b
【A】Last Two Digits
提出したコードはこちら
N = input()
print(N
)
これは瞬殺レベルですね。解説とまったく同じコードでした。
【B】 Distance Between Tokens
提出したコードはこちら
N = int(input())
a_lists = [
,
]
for i in range(N):
if i < 2:
print(*a_lists[i])
else:
aj =
* (i + 1)
for j in range(i + 1):
if j == 0:
continue
if i == j:
aj[j] = 1
else:
aj[j] = a_lists[i - 1][j - 1] + a_lists[i - 1][j]
print(*aj)
a_lists.append(aj)
一応、パスしましたが、かなり汚いコードとなってしまいました。
問題文の意味がわかるのにも少し時間がかかりました。
【C】K Swap
できませんでした。何回が提出したのですが、WAやTLE、さらにはREまでありました。
途中まで考えていたコードはこちら
N, K = map(int, input().split())
an = list(map(int, input().split()))
an_sort = sorted(an)
# print(an)
# print(an_sort)
is_yes = True
for i, v in enumerate(an_sort):
# print(f"{i=}")
# vが元の配列でindex=i+K*xにあればOK
x = 0
is_ok = False
for j in range(-2, N // K):
# print(f"{i + K * j=}")
if i + K * j < 0:
continue
if i + K * j > N:
break
if v == an[i + K * j]:
is_ok = True
break
if is_ok is False:
is_yes = False
break
print("Yes" if is_yes else "No")
考え方自体は的外れってことはなさそうですが、コードが解説と全然違いますね・・・
解説のコードを読んでも何やっているか理解できないので、どうしたものかって感じです・・・
【D】Together Square
手も足も出ず。
平方数が算出できる虎の巻みたいのがあるのかなと思って、あまり考えずに断念しました。
解説見るとそんなものはなく、全探索しているようですが、やはり何やっているからわからず・・・
まとめ
参加できなかったのですが、もし参加していたら、A,Bしか解けていませんでした。
C, Dは解説見てもよくわからないというダメっぷり。このまま毎週末、参加しても、A,Bだけ解いて、C,Dは解説見てもわかりませーんというのを繰り返すだけなので、成長はなさそうです。
どうすれば成長できるのか、悩み中です。
スポンサーリンク
)
