ARC108
1完だった。
A - Sum and Product
1~106 まで探索すればよい。
最初range(1, 106)としてWAとなったから、range(1, 107) として通したけど、range(1, 106+1)とすればよかったことに後で気づいて発狂。
まぁ方針はあってたから良しとする。
ちなみに二次方程式で解いた人もいたらしい。解と係数の関係ぽいからかな。
コード
S, P = MI() flag = False for n in range(1, 10**7): m = S - n if m > 0: if n * m == P: flag = True break if flag: print("Yes") else: print("No")
B - Abbreviate Fox
解けませんでした。
愚直にループしたらTLEで最後まで分からず終了。
スタックを用いればよかったらしい。
- 文字列(またはリスト)の末尾の要素を削除したいときは pop() を使えばいい。
- 末尾の三文字を指定したいときはスライスで
- 試行錯誤しているうちに見つけた便利な関数
def remove_at(i, s): return s[:i] + s[i+1:]
コード
N = I() s = S() x = [] for i in s: x.append(i) if x[-3:] == ["f","o","x"]: x.pop() x.pop() x.pop() print(len(x))
感想とか
4回以内には茶色になれそうかなぁ