ABC 100 B Ringo’s Favorite Numbers
間違えたコード
using namespace std; int main() { int D; cin >> D; int N; cin >> N; if (N == 100) { cout << 100; return 0; } if (D == 0) { cout << N; return 0; } if (D == 1) { cout << N * 100; return 0; } if (D == 2) { cout << N * 10000; return 0; } }
感想
3つWAだった。原因は分からん。
.正解コード確認
参考にさせていただいたサイト
ABC100 B Ringo's Favorite Numbers - 迷走
確認後の感想
なるほど..もし、n=100の時はD+1回割れてしまうので、[...97,98,99,101]と、100を飛ばすのか。
整数問題に対する知識が必要だな..。
こういった問題に対するアプローチとして、小賢しいやり方で解くのではなく、単に全探索をした方が正答率が高くなりそうだな。
ACコード
int d, n; int main() { cin >> d >> n; if (n == 100)n++; if (d == 0) { cout << n << endl; } if (d == 1) { cout << 100 * n << endl; } if (d == 2) { cout << 10000 * n << endl; } }