2012-09-02から1日間の記事一覧

AOJ 0150 Twin Prime

方針 素数判定してから愚直に求める. コード int main() { fill(is_prime, is_prime + 10001, true); is_prime[0] = is_prime[1] = false; for(int i = 2; i < 10001; i++) if(is_prime[i]) for(int j = i * 2; j < 10001; j += i) is_prime[j] = false; int…

AOJ 0135 Clock Short Hand and Long Hand

方針 実際に時計の絵を書いて適当に変換して,式出して求める。 コード int main() { int n; double h, m, hr, mr, diff, res; cin >> n; for(int i = 0; i < n; i++) { scanf("%lf:%lf", &h, &m); hr = (30.0 * h) + (m / 2.0); mr = m * 6.0; diff = abs(h…

AOJ 0244 Hot Spring Trip

方針 深さ優先探索. 特殊な切符を使って頂点nにたどり着いた時の最小コストがdict[0][n],使わなかったときdict[1][n]です. コード const int INF = 1 << 30; int N, M; int G[100][100]; int dict[2][100]; vector<int> A[100]; //n:今の場所 //c:特殊な切符 //</int>…

AOJ 0223 Stray Twins

方針 ちゃんと問題文を読まなければいけない(反省). というより,なんで座標(1, 1)から始まるんだ(憤怒). 幅優先探索です. コード const int dx[][4] = {{1, 0, -1, 0}, {-1, 0, 1, 0}}; const int dy[][4] = {{0, 1, 0, -1}, {0, -1, 0, 1}}; int X, Y; boo…

AOJ 0220 Binary Digit A Doctor Loved

方針 深さ優先探索です.全探索なので頭悪い解法かなと思いながらもたかだかO(2^12)っぽいので余裕だろーとか思いながらやりました. コード double n; double x[12]; int tmp[12]; int ans[12]; void dfs(int p, double sum) { if(sum > n || p > 12) retur…