Port 53

明日のための技術メモ

AtCoder ABC145

AtCoder ABC145解いた分だけ書きます。
今回はAB2完だったけど、目標タイムだった5分以内に解ききったので、良しとしたい。
Cは組み合わせで詰まったので解説見て解き直し。

A. Circle

問題文 f:id:saturn-glave:20191116223955p:plain

πは放置できるので、単純に半径の2乗だけ気にする。
答えに小数点がつくと怒られるので、切り捨てで表示。

#coding:utf-8
r = int(input())
print((r*r)//1)

B. Echo

問題文 f:id:saturn-glave:20191116224155p:plain

まず文字列の長さが奇数だったら絶対に繰り返し文字列になりえないので捨てる。
偶数であれば、最初から半分までの文字列をTとして切り出し、s == t + t になるか判定する。

#coding:utf-8
n = int(input())
s = input()

if len(s) % 2 != 0:
    print('No')
else:
    l = len(s) // 2
    t = s[0:l]
    if s == t+t:
        print('Yes')
    else:
        print('No')

C. Average Length

問題文 f:id:saturn-glave:20191116224630p:plain

街-街への1区間の距離はそれぞれ出したけど組み合わせを出すところが思いつかなかった。
全探索でゴリ押し行けるのはなんとなく分かってた。
後日上げます