2012-08-18から1日間の記事一覧

天下一プログラマコンテスト2012 予選B D - 大爆発

大爆発爆弾を置くy座標を決める(同じy座標に複数の爆弾を置くのもあり)と、そのように爆弾を置いて全ての壁を破壊するのに必要な爆弾の個数が求められる。そのy座標に空きが無ければ無理。それ以外の場合は、そのy座標以外にある壁を壊すのに爆弾が何個必…

天下一プログラマコンテスト2012 予選B C - 席が足りない

席が足りない社員の部分集合ごとに何席必要かを覚えておいて、動的計画法。その社員が1席を共有できるなら、1席。そうでないならば、部分集合を2個に分割したそれぞれの席数の和の、最小値。 #include <iostream> #include <cstdio> #include <vector> using namespace std; int countb</vector></cstdio></iostream>…

天下一プログラマコンテスト2012 予選B B - camel_case

camel_caseやるだけ。だが、面倒くさい。こういう問題を、正規表現とかを使って、すっきり解けるようになりたい。 import re c = raw_input() if c=="_"*len(c): print c exit(0) pre,suf = 0,0 while c[pre]=="_": pre+=1 while c[-suf-1]=="_": suf+=1 c =…

天下一プログラマコンテスト2012 予選B A - 孫子算経

孫子算経 a,b,c = map(int,raw_input().split()) for i in range(1,128): if i%3==a and i%5==b and i%7==c: print i