競プロ

PythonでJOI難易度5を埋める #27

D - 1年生 (A First Grader) bit全探索だと満点は取れないので,別の方法を考える.番目までに+か-を入れてきたときの和でDPすればうまくいく. 今の数字を,番目に追加する文字をとすると,DP遷移式は, - 0のとき,dp[ + 1][ - ] += dp[ ][ ] + 20のとき,…

PythonでJOI難易度5を埋める #26

IOIOI 文字列を逐一数えるのは面倒なので,"I"と"O"が交互の並び条件を満す長さの列を調べる. "I"と"O"が交互に並んでいるかはflagのT or Fで判定(一つ前が"I"ならT,"O"ならF). n = int(input()) m = int(input()) s = input() cnt = 0 flag = False ans …

PythonでJOI難易度5を埋める #25

D - 薄氷渡り 一つの経路を調べた後に氷を経路を調べる前の状態に戻す必要があるので,再帰関数で実装します. m = int(input()) n = int(input()) ice = [[0] * (m + 2)] for _ in range(n): tmp = list(map(int, input().split())) ice.append([0] + tmp +…

ABC182の感想

A - twiblr 条件式とBを比較する. a, b = map(int, input().split()) m = 2 * a + 100 if m > b: print(m - b) else: print(0) B - Almost GCD の範囲が小さいので,2以上以下の自然数を全探索する. n = int(input()) a = list(map(int, input().split()))…