名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。

2017/11/24 yukicoder contest 178 に参加しました

2完。

A問題

No.597 concat - yukicoder https://yukicoder.me/problems/no/597

文字列を連結する問題。

Pythonならjoinしてあげれば良いかなと。

print("".join([input()for _ in range(int(input()))]))

execを上手く使うと、少し短くなるみたい。

s="";exec('s+=input();'*int(input()));print(s)

B問題

No.598 オーバーフローファンタジー - yukicoder https://yukicoder.me/problems/no/598

回復させてオーバーフローさせるか、そのままダメージを与えるかして相手の体力を0以下にする問題。

ダメージを与える回数は、 ceil(x / a)、回復させてオーバーフローする値は ceil([オーバーフローする桁 - x] / b>) で求められるので、早い方を出力する。

import math

def solve():
    n, x, a, b = [int(input()) for _ in [0]*4]
    bits_list = [2 ** i for i in range(33)]
    overflag = bits_list[n - 1]
    ta = math.ceil(x / a)
    tb = math.ceil((overflag - x) / b)
    print(min(ta, tb))

if __name__=="__main__":
    solve()

C, Dはあまり良くわからなかったので、解いてないです。★2〜2.5をちょっと埋めようかな。