名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

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をちょっと埋めようかな。