ABC 168 3完でした。

f:id:yutakasawai:20200517231619p:plain最後にAtCoderでたのが19年6月1日M-SOLUTIONS プロコンオープンだったので約1年ぶりにABCに出ました。

ABC168

B問題でprintを入れ忘れてペナルティ。 Dは現状の知識では解けないと判断して撤退し、明日の弁当を作り、この記事を書き始めた。 早解きを鍛えることも必要だが、今日はCまでで12分(+ペナ5分)程度なので、これ以上は縮められたとしても限界がありそう。
やはり緑以上を狙うために400点問題を解けるようにしていかないといけない。

A 提出

ただの場合わけ。

N=int(input())
if int((str(N)[-1])) in [2,4,5,7,9]:
    print('hon')
elif int((str(N)[-1])) in [0,1,6,8]:
    print('pon')
else:
    print('bon')

 

B 提出

ただの場合わけ。最初のifの中にprintを書き忘れたので、ans=hoge にして、 if文を抜けた後にprint(ans)のようにした方がよかったかも。

K = int(input())
S = input()
if len(S)>K:
    print(S[:K]+"...")
else:
    print(S)

C 提出

2辺の長さと角度を求めて、余弦定理から残りの1辺の長さを求める。

A,B,H,M= map(int,input().split())
import numpy as np
h = (60*H)+M
kakudo = abs(0.5*h - 6*h)%360
kakudo = np.radians(kakudo)
C =( A**2+B**2-2*A*B*np.cos(kakudo))**0.5
print(C)

次に何をするか

C問題を解きつつ、以下のQiitaの記事を読み、分野別に過去問を解いていこうと思う。

qiita.com

めも:標準ライブラリは以下の記事などを参考にしながら覚えていく。

Pythonで競技プログラミング -ライブラリ編- - Qiita
競プロで使える!Python標準ライブラリ

これまでの記事はバチャコン日記だったが、本コンテストに出た際はコードも貼っていこうと思う。
今日は初めてMarkdownを使ってみました。