平凡な社会人の日記

平凡な社会人の日記です。怠惰な毎日を送っております。

AtCoder Regular Contest 108 (A,B) 感想

ARC108の感想です。先に解きたい人は解いてから見てねー。(定型文)

[https://atcoder.jp/contests/arc108:title=atcoder.jp

A問題(Sum and Product)

f:id:physics-heibon:20201122004413p:plain

よくある全探索の問題ですね。
NとM両方動かすと大変なので、一文字消去して1ループにするっていうのはあるあるです。制約が10^12なので、そのsqrtまで探せばok.

S, P = map(int, input().split())

for i in range(1,10**6+1):
    if i * (S-i) == P:
        print("Yes")
        exit()
print("No")
        

B問題(Abbreviate Fox )

f:id:physics-heibon:20201122004608p:plain

これは見て10秒くらいで、"fox"を見つけたら削除して、二文字前から探索しなおせばいいやーんと思いました。Twitterには難しく考えすぎて解けなかった人が割といたので、盲点のような問題なのかもしれません。逆に自分のように知識がない人は迷う必要がないので楽なのかもしれませんね。

N = int(input())
s = input()

i = 0
while i<len(s):
    if s[i:i+3] == "fox":
        s = s[:i] + s[i+3:]
        i = max(i-3,-1)
    i += 1
    
print(len(s))

感想

今回はバイトがあって参戦しませんでした。B問題簡単に解けたので(茶色ですけど‥)、今回参加してたら初めてARCのB問題とけたかもしれませんが、そんなのはやってみないと分からないですね。
C問題は解説に「全域木」という単語が出てきているので勉強してから寝ます。
今週はABCのE問題を少し解いたので、明日のABCも頑張りたいと思います。ほいなら~。