2013-01-01から1ヶ月間の記事一覧

AOJ 0540 あみだくじ

AOJ

解法 あみだくじにおいて、ある横棒をたどる回数はちょうど2回だから、その横棒を取り去ると2つの縦は交換されない。 つまりa,bがそれぞれc,dにたどり着いている、とすると、a,bがとおる横棒を一つ取り除けば、a,bはそれぞれd,cにたどり着くことになる。 よ…

POJ 1274 The Perfect Stall

解法 二部グラフの最大マッチングとみなせるので最大流問題をとけばいい ford-fulkerson法が使える #include <cstdio> #include <algorithm> #include <vector> using namespace std; const int MAX_N = 200, MAX_M = 200; int N, M; class edge{ public: int to, cap, flow, rev; edge(</vector></algorithm></cstdio>…

POJ 1226 Substrings

問題 http://poj.org/problem?id=1226解法 全探索したら通った。最小の文字列を選んで計算回数を落としたが別に必要ないっぽい。 #include <cstdio> #include <algorithm> #include <string> #include <iostream> using namespace std; int t, n; int main(){ cin >> t; for(;t > 0; t--){ cin >> </iostream></string></algorithm></cstdio>…

#007

Haskellの練習 main = do input <- getContents let c = head . head $ lines input s = last $ lines input putStrLn $ filter (/=c) s

POJ 1723 SOLDIERS

POJ

解法 ソートして中央値を適当にとる よくわからない #include <cstdio> #include <algorithm> using namespace std; const int MAX_N = 10000; int X[MAX_N], Y[MAX_N]; int N; int main(){ scanf("%d", &N); for(int i = 0; i < N; i++) scanf("%d %d", &X[i], &Y[i]); sort(Y,</algorithm></cstdio>…

AOJ 0508 String With Rings

AOJ

あけましておめでとうございますDFSやるだけなのにWAをかさねて新年そうそうに絶望。 #include <cstdio> #include <vector> #include <algorithm> using namespace std; int N; bool used[101]; vector<int> rings[101]; int dfs(int p){ int ret = 1; for(int i = 0; i < rings[p].size(); i</int></algorithm></vector></cstdio>…