Algorithms

AOJ 0111 Doctor's Memorable Codes

問題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0111。 解法 シュミレーション問題かな コード string encode(string code){ map<char, string> m; m['A'] = "00000"; m['B'] = "00001"; m['C'] = "00010"; m['D'] = "00011"; m['E'] = "00100"; m['F'] =</char,>…

AOJ 1008 What Color Is The Universe

問題 |A|と配列Aが与えられる。N[i]はAに含まれるiの数。 N[i] > |A| / 2 を満たす。iを探す。 解法 実装するだけ コード int A, N[1000001]; int main(){ int a, i; while(scanf("%d", &a) && a){ memset(N, 0, sizeof(N)); rep(i, a){ scanf("%d", &A); N[…

AOJ 1084 K Cards

問題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1084。 日本語 解法 全探索で解けます。計算量はどれくらいなのかな。どうやって表記するのかよくわからない。 単純にループのとこだけでやるとO(n(n-1)/2(n-k))とか?こんな複雑な書き方な…

AOJ 1074 Popularity Estimation

問題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1074. 日本語。 解法 i秒後に何人映っているかをメモしておけば簡単。やるだけ。 計算量は*O(nm)ぐらいでいいのかな。 コード int main(){ int n, m, d; char name[256]; while(scanf("%d", …

AOJ 2014 Surrounding Area

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2014 日本語。 解法 あるマスからDFSしていって黒に到達したら、1、白に到達したら2って感じにして行く。 dfsの再帰のところを最初+=にしようとしていた コード int f[50][50], c[50][50];…

AOJ 1144 Curling 2.0

問題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1144&lang=jp 日本語。 解法 DFSで解く。四方向見て、進めるなら進む。盤面の外に行ったら次っていう感じでまわしてく。 コード int w, h; int board[20][20]; int dx[] = {0,-1,0,1}, dy[] …

AOJ 1045 Split Up!

問題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1045 日本語。 解法 適当にDFSすればできる。 コード int n; int a[128]; int dfs(int p, int g, int c){ if(n == c) return abs(p-g); return min(dfs(p+a[c], g, c+1), dfs(p, g+a[c], c+1…

林晴比古さんのコードが長くて読むのがたいへん

林晴比古さんのC言語による実用アルゴリズム入門読んでいて、電卓プログラム、まねして作ろうかなと思って書き始めたら長くて2ページ目で断念。以前からよく眺めていた、ohahirokiさんの電卓プログラムを頭の中で考えながら簡単な電卓プログラムを実装して…

SRM 619 Div 2

ARCにせよSRMにせよ、記事書くのがだいぶ遅いのはなんとかなりませんかね。 Level 1 GoodCompanyDivTwo Brute Forceで解ける問題っぽいです。システムテストで落とされました。 superior[i] = superior[j]でworkType[i] = workType[j]、同じ上司を持ってる二…

AOJ 2503 Project Management

何のことはない、有効グラフつくってクリティカルパス求めるだけ。 ワーシャルフロイド法でもなんでも解けるんじゃないかな。 int n, m; int cost[400][400]; int main(){ scanf("%d%d", &n, &m); rep(i, n) rep(j, n) cost[i][j] = 0; int a, b, c; rep(i, …

全探索の勉強

今日は深さ優先探索と幅優先探索で1日が終了したみたいです。chokudaiさんのとこのアルゴリズム勉強会でDFSとBFSの講義があったのでまずはスライドで http://www.slideshare.net/chokudai/wap-atcoder2んで、kyuridenamidaさんがまとめてくれていた、典型問…