2014-03-29から1日間の記事一覧
問題 どの隣も同じ文字にならない文字列をLuckyStringと呼ぶ。 入力の文字列sを並び替えたとき、LuckyStringはいくつ生成できるか。 ただし文字列が10文字以下である。解法 階乗を含むオーダー計算が正しく出来ますかという問題。 10! = 3628800 #include<bits/stdc++.h> us</bits/stdc++.h>…
解法 bitDPで解く。 dp[S] := 状態Sでステージを全てクリアするのにかかる最小時間 dp[0] = 0 for S[0, 1<
解法 行の赤丸の数で降順sortする。全ての列の一つの赤丸で一行を丁度全て使いきったなら正しい。それをすべての行でループする二重ループ。 このGreedyで何故一意に復元できると言えるのかはわからない。 int n, row[10000], col[10000]; bool solve() { so…