2016-07-05から1日間の記事一覧

AOJ 0101: Aizu PR

問題 Aizu PR | Aizu Online Judge 文字列中の"Hoshino"を"Hoshina"に書き換えろ 方針 "Hoshino"という文字列があったら最後の文字を'a'にする 置換関数を使わずに書く練習ということで。 cin >> nした後にgetline(cin, s)すると変な挙動をしたので、数字もg…

AOJ 0100: Sale Result

問題 Sale Result | Aizu Online Judge 総売上が1,000,000以上の従業員のIDを入力順に表示せよ どう考えても悪問だった 方針 問題文には明示されていないが、同じ従業員の売上記録が複数回与えられることがあるのでmapで保持しておく 問題文には明示されてい…

AOJ 0052: Factorial II

問題 n の階乗 | Aizu Online Judge nの階乗を求めたとき、末尾に0がいくつ並ぶか 方針 10=2x5であるので10をつくるには因数に2と5が必要。明らかに2の方がたくさんあるので5の個数を数える コード #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(in</bits/stdc++.h>…

AOJ 0020: Capitalize

問題 Capitalize | Aizu Online Judge 小文字を大文字に変換せよ 方針 小文字なら'A'-'a'を足す コード #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(int i=0; i<(n); ++i) int main(void){ string s; while(getline(cin, s)){ rep(i, s.size()) {</bits/stdc++.h>…

AOJ 0019: Factorial

問題 Factorial | Aizu Online Judge nの階乗を出力せよ 方針 事前に20までの階乗を保持しておいて出力 コード #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(int i=0; i<(n); ++i) long long dp[21]; int main(void){ dp[0] = 1; for(int i=1; i<2</bits/stdc++.h>…

AOJ 0018: Sorting Five Numbers

問題 Sorting Five Numbers | Aizu Online Judge 5つの数字を降順にソートせよ 方針 さすがにやるだけ コード #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(int i=0; i<(n); ++i) int a[5]; int main(void){ rep(i, 5) cin >> a[i]; sort(a, a+5, </bits/stdc++.h>…

AOJ 0017: Caesar Cipher

問題 Caesar Cipher | Aizu Online Judge シーザー暗号を解読せよ。ただし文章に"this", "that", "the"のいずれかの単語が含まれていることは既知とする。 方針 "this", "that", "the"のどれかが暗号化されていそうな文字列を探して、keyを求めたあと復号化…

*AOJ 1126: The Secret Number

問題 The Secret Number | Aizu Online Judge タイルの中を右または下に進んで生成できる数字のうち最大のものを求めよ 方針 深さ優先探索で数を作っていく 普通にやったらTLEするのでC[y][x]からスタートして作れる最大の数字をmemo[y][x]に入れておく 最大…