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;
    }
}