前提・実現したいこと
AtCoder Beginner Contest 079の問題で回答の一部にWAが混ざります。
https://atcoder.jp/contests/abc079/tasks/abc079_a
どこを修正すればよいでしょうか?
個人的に試す組み合わせでは全て正答となります。
問題文
1118 のような、3 つ以上の同じ数字が連続して並んだ 4 桁の整数を 良い整数 とします。
4 桁の整数 N が与えられるので、N が 良い整数 かどうかを答えてください。
制約
1000≦N≦9999
入力は整数からなる
入力
入力は以下の形式で標準入力から与えられる。
N
出力
N が 良い整数 ならば Yes を、そうでなければ No を出力せよ。
発生している問題・エラーメッセージ
WA
該当のソースコード
C++
1#include <bits/stdc++.h> 2using namespace std; 3 4int main() { 5 int N; 6 7 cin >> N; 8 9 int n1000 = N / 1000; 10 int n100 = (N - (n1000 * 1000)) / 100; 11 int n10 = (N - ((n1000 * 1000) + (n100 * 100))) / 10; 12 int n1 = (N - ((n1000 * 1000) + (n100 * 100) + (n10 * 10))) / 1; 13 14 if(n1000 == n100){ 15 if(n1000 == n10 || n1000 == n1){ 16 cout << "Yes" << endl; 17 } 18 else { 19 cout << "No" << endl; 20 } 21 } 22 else if(n1000 == n10 && n1000 == n1){ 23 cout << "Yes" << endl; 24 } 25 else if(n100 == n10 && n100 == n1){ 26 cout << "Yes" << endl; 27 } 28 else { 29 cout << "No" << endl; 30 } 31 32}
回答1件
あなたの回答
tips
プレビュー