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

AOJ1140 Cleaning Robot

AOJ

解法 BFSして、'o' と '*' 間に張ることの出来る全てのエッジのコストを求める。汚れたタイル '*' は高々10個なので、ロボットの位置のノードを含めて最大11個のノードで巡回セールスマン問題を解く。反省 コード量が多くなってきたときに、マップなどのコン…

UVa11833 Route Change

UVa

問題 http://uva.onlinejudge.org/external/118/11833.html概要は原文を確認してください。解法 #include <bits/stdc++.h> using namespace std; #define MAX (250) #define INF (1<<29) typedef pair<int, int> Pii; struct Edge { int to, cost; }; vector<Edge> G[MAX]; int dist[MAX]; i</edge></int,></bits/stdc++.h>…

UVa11813 Shopping

UVa

問題 http://uva.onlinejudge.org/external/118/11813.html概要 無向グラフにおいて、グラフの接続情報とコストが与えられる。 全てのノードの内、店のノード番号が複数指定されるので、ノード0から出発して最小コストで全ての店を巡回せよ。制約 ノードとエ…

UVa11818 Mouse and a Cheese

UVa

問題 http://uva.onlinejudge.org/external/118/11818.html概要 3×3のグリッドが有る。各グリッドは合計12本のスティックで区切られている。鼠とチーズがこのグリッド上のいずれかのマスに存在して、鼠はスティックが外されている部分のみ通過できる。 SOHA…

SRM500 Div2 SRMCards

SRM

問題 与えられたこのなる数字の書かれたカードの中から一枚ずつ選んで取り除くゲームをする。 取り除く際に、もし選んだカードの数字と前後の数字を持つカードが存在すれば、それぞれも抜き取らなければならない。カードを選べる回数を最大化せよ。解法 ソー…

SRM442 Underprimes

SRM

概要 1と自分自身を除く素因数の数が素数となる値が A 解法 #include <bits/stdc++.h> using namespace std; #define MAX (100001) bool is_prime[MAX+10]; class Underprimes { public: void Sieve() { for(int i=0; i<=MAX; i++) { is_prime[i] = true; } is_prime[0] = i</bits/stdc++.h>…

最長増加部分列の長さ

最長増加部分列の長さを求める。コードを読むとイメージがつかめる。 using namespace std; long long dp[100001]; long long a[100001]; int main() { int n; scanf("%d", &n); fill(dp, dp+n, 10e8); for(int i=0; i

SRM620 Div2Easy CandidatesSelectionEasy

SRM

概要 メイドを雇いたいと考えている。vector score があるとき、scroe[i][j] は、技術 j に対して候補者 i の能力の評価を示す。評価は'A'評価を最も良いとして、最も悪い'Z'評価まである。 雇いたいメイドは技術 x が良い評価であればよい。このとき雇いた…

UVa11736 Debugging RAM

UVa

問題文 http://uva.onlinejudge.org/external/117/11736.html大意 RAMに格納されている変数情報とRAMのメモリが与えられる。複数の変数名がクエリとして送られるので、10進数で変数の値を表示せよ。解法 やるだけ。変数の持つバイト分の文字列を1ビットずつ…

AOJ1168 ぐらぐら

AOJ

未実装