SRM

SRM558 DIV1 275 Stamp

SRM

スタンプの長さ(L = 1 〜 desiredColor.size())と、最初に何色で塗るか(3通り)を全通り試す。 int n=desiredColor.size(); int res=inf; for(int L=1;L<=n;++L) { for(int c=1;c<=3;++c) { // R=1, G=2, B=3 res=min(res, L*stampCost + (長さL、最初にc…

SRM557 DIV1 250 FoxAndMountainEasy

SRM

nからhistory.size()を引いた残りでどう動けばいいかを決める。 重要なのは、U,Dの個数さえ決まってしまえば順番がどうであろうと結果は一緒ということ。 ただしh[i]が負の数になってはいけない。 h[i]が負にならないためにはUをh[0]側に寄せればいい。m = n…

SRM428 DIV2 250 ThePalindrome

SRM

sの先頭からi文字をひっくり返したものをtとする。 sの末尾にtをつけたものが回文になってるかどうかを試していく。例えば、s="abcccc" の場合 i=0: t="" (空文字列) s+t="abccc" ←回文じゃない i=1: t="a" s+t="abccca" ←回文じゃない i=2: t="ba" s+t="…

SRM478 DIV2 250 KiwiJuiceEasy

SRM

問題文のとおりにシミュレーション。 1 で要素数が最大50だからインクリメント・デクリメントを繰り返しても余裕で間に合う。 #include <vector> using namespace std; class KiwiJuiceEasy { public: vector <int> thePouring(vector <int> capacities, vector <int> bottles, vect</int></int></int></vector>…