探索

1131: Unit Fraction Partition

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1131&lang=jp 解き直し。 y/x+1/z=(yz+x)/xz だから、これを使って探索。枝刈りはしなくても通る。 #include<iostream> #include<vector> #include<algorithm> using namespace std; int p,q,a,n; int rec(int x,int y,i</algorithm></vector></iostream>…

0122:Summer of Phyonkichi

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0122 dfsした。 #include<iostream> #include<vector> #include<algorithm> #include<cmath> using namespace std; vector<pair<int,int> >sp; int dx[12]={-1,0,1,2,2,2,1,0,-1,-2,-2,-2}; int dy[12]={-2,-2,-2,-1,0,1,2,2,2,1,0,-1}; int n</pair<int,int></cmath></algorithm></vector></iostream>…

0190:Eleven Puzzle

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0190 双方向bfsで解いた。 #include<iostream> #include<vector> #include<algorithm> #include<map> #include<queue> using namespace std; map<vector<int>,int>mp,used; struct State{ vector<int>v; int t; State(vector<int>v,int t):v(v),t(t){} }; v</int></int></vector<int></queue></map></algorithm></vector></iostream>…

928:Eternal Truths

問題文 http://uva.onlinejudge.org/external/9/928.html進む距離を1,2,3,1,2,3のように繰り返してSからEにいくときの最短ステップ数を出力せよ。行けない時はNOと出力せよ。 幅優先探索した。 #include<iostream> #include<vector> #include<algorithm> #include<string> #include<cstring> #include<cctype> #incl</cctype></cstring></string></algorithm></vector></iostream>…

10503:The dominoes solitaire

問題文 http://uva.onlinejudge.org/external/105/10503.html無向グラフが与えられる。スタートからゴールまでちょうどn回のステップで行くことができるか判定せよ。 全探索した。 #include<set> #include<iostream> #include<vector> #include<algorithm> #include<string> #define f first #define s </string></algorithm></vector></iostream></set>…

1176:Planning Rolling Blackouts

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1176&lang=jp メモ化再帰した。再帰関数の引数は左上の位置と右下の位置+1。 配列uは累積和を計算しておいた。 #include<iostream> #include<algorithm> #define f first #define s second #define INF (1<<29) </algorithm></iostream>…

2401:Equation

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2401 構文解析+全探索。 http://uva.onlinejudge.org/external/111/11108.html ↑の問題が似てる。 #include<iostream> #include<string> #include<algorithm> using namespace std; int now,al; string s; bool formula(</algorithm></string></iostream>…

11108:Problem D: Tautology

問題文 http://uva.onlinejudge.org/external/111/11108.html WFFという文法が与えられる。以下のようなものだ。 1.p,q,r,s,tはWFFである。 2.WFFである文字列をwとおくと、NwはWFFである。 3.WFFである文字列二つをw,xとおくと、Kwx,Awx,Cwx,EwxはWFFである…

1174:Identically Colored Panels Connection

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1174&lang=jp パネルの変え方は全部で6^5通りなので全部試せる。 #include<iostream> #include<string> #include<vector> #include<algorithm> #define rep(i,n) for(int i=0;i</algorithm></vector></string></iostream>

907:Winterim Backpacking Trip

問題文 http://uva.onlinejudge.org/external/9/907.htmln個の休憩地点がある山をk回の休憩をして登る。 一回あたりの登る距離の最悪の長さを最小化せよ。 解を決め打ちして二分探索した。 動的計画法でも解けるらしい。 #include<iostream> #include<algorithm> #include<vector> using n</vector></algorithm></iostream>…

1055:Huge Family

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1055&lang=jp 連結でないグラフが与えられる。このグラフの連結成分は全て輪になっている。この連結成分からコストが最大の辺を一つだけ消してできるものがクランである。 よって一つの連…

0569:Illumination

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0569 深さ優先探索した。問題文の通りに座標を配列で表現すると(0,0)等は絶対に外側になる。 (0,0)から探索して各マスで隣り合う建物の数を数えた。 #include<iostream> using namespace std; int h,</iostream>…

0181:Persistence

問題文 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0181 本棚1段あたりの最小の幅xを仮定して、二分探索で探す。 #include<iostream> #include<algorithm> #include<vector> using namespace std; int m,n; vector<int>v; bool C(int x){ int cnt=0,sum=0,i=0; while(i</int></vector></algorithm></iostream>