今日はABC開催日だったので参加結果を振り返る
今週もA,B,Cの3完(0ペナ)
A
条件にマッチしたら加算
ソースコード
main.py
import sys
def rI(): return int(sys.stdin.readline().rstrip())
def rLI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def rI1(): return (int(sys.stdin.readline().rstrip())-1)
def rLI1(): return list(map(lambda a:int(a)-1,sys.stdin.readline().rstrip().split()))
def rS(): return sys.stdin.readline().rstrip()
def rLS(): return list(sys.stdin.readline().rstrip().split())
def err(*args): print(*args, file=sys.stderr)
def main():
ans = 0
for i in range(12):
S = rS()
if len(S) == i+1:
ans += 1
print(ans)
if __name__ == '__main__':
main()
B
各文字の位置を連想配列に入れて
B以降の1文字前との距離を全部足す
ソースコード
main.py
import sys
def rI(): return int(sys.stdin.readline().rstrip())
def rLI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def rI1(): return (int(sys.stdin.readline().rstrip())-1)
def rLI1(): return list(map(lambda a:int(a)-1,sys.stdin.readline().rstrip().split()))
def rS(): return sys.stdin.readline().rstrip()
def rLS(): return list(sys.stdin.readline().rstrip().split())
def err(*args): print(*args, file=sys.stderr)
def main():
S = rS()
d = {s:i for i,s in enumerate(S)}
cur = d["A"]
ans = 0
for s in 'BCDEFGHIJKLMNOPQRSTUVWXYZ':
ans += abs(d[s] - cur)
cur = d[s]
print(ans)
if __name__ == '__main__':
main()
C
Aの中での最大値とBの中での最大値をそれぞれ足すだけ
ソースコード
main.py
import sys
def rI(): return int(sys.stdin.readline().rstrip())
def rLI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def rI1(): return (int(sys.stdin.readline().rstrip())-1)
def rLI1(): return list(map(lambda a:int(a)-1,sys.stdin.readline().rstrip().split()))
def rS(): return sys.stdin.readline().rstrip()
def rLS(): return list(sys.stdin.readline().rstrip().split())
def err(*args): print(*args, file=sys.stderr)
def main():
N = rI()
A = rLI()
B = rLI()
ans = max(A) + max(B)
print(ans)
if __name__ == '__main__':
main()
D
グラフの問題はできません定期
連立方程式組む感じ…?
(追記)深さor幅優先探索すればいいだけなのね…
E
求めたい値がよくわからなかった
F
ナップサック問題って動的計画法の定番だけど
目的関数が非線形でどうしよって感じ
G
線の交差判定は三角形つくって行列式立てて云々みたいな記憶しかない
まとめ
D問題以降は解ける気がしなくて放置してしまった
F問題は明らかに動的計画法してくださいな問題だったけど諦めてしまった
このあたりのモチベーション管理も課題ですね