0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ABC322振り返り(A~C)

Last updated at Posted at 2023-10-01

AtCoder Beginner Contest 322
https://atcoder.jp/contests/abc322

A問題

A,B,C全てを比較するのではなく、S[i:i+3] == "ABC"とすればよかったです。

N = int(input())
S = input()

pos = -2
for i in range(N-2):
    if S[i] == 'A' and S[i+1] == 'B' and S[i+2] == "C":
        pos = i
        break

print(pos+1)

B問題

starswithとendswithを思いつきました。
ただ、出力周りが汚くなってしまいまいた。

N, M = map(int, input().split())
S = input()
T = input()

a1 = T.startswith(S)
a2 = T.endswith(S)

if a1 and a2:
    print(0)
elif a1 and not a2:
    print(1)
elif not a1 and a2:
    print(2)
elif not a1 and not a2:
    print(3)

C問題

これでいいのか?と思いながら提出したらACでした。
日付を0-indexedにして、現在の日と差を取るだけでした。

N, M = map(int, input().split())
A = [x - 1 for x in map(int, input().split())]

# print(A)

pos = 0
for i in range(N):
    print(A[pos] - i)
    if i == A[pos]:
        pos += 1

振り返り

Keep

C問題まで15分で解けたのがよかったです。
コンテスト中にランキングを見る癖をつけていたので、C問題とD,E問題の崖に気づくことができました。

Problem

D問題をマス目の濃淡で解決しようとしたが、コマの反転現象を解決できず間に合いませんでした。
ちなみに書いたコードはこれです。

P = []
for i in range(3):
    dark = 0
    light = 0
    for i in range(4):
        p = input()
        for j in range(4):
            if p[j] == "#":
                if (i + j) % 2 == 0:
                    dark += 1
                else:
                    light += 1
    P.append((dark, light))

flag = False
for msk in range(1 << 3):
    sum = 0
    for i in range(3):
        if msk & 1 << i:
            sum += P[i][0]
        else:
            sum += P[i][1]
    if sum == 8:
        flag = True

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

Try

途中かE問題の正答数が伸びていたので、そちらに切り替えてもよかったかもしれません。
ただ、結果を見ると動的計画法を使う問題だったので解けたか分かりませんが・・・

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?