###問題文
4 桁の暗証番号 X1X2X3X4が与えられます。 番号は先頭の桁が 0であることもあり得ます。 暗証番号は以下のいずれかの条件をみたすとき弱い暗証番号と呼ばれます。
4桁とも同じ数字である。
1≤i≤3 をみたす任意の整数 i について、 X(i+1)が、 Xi の次の数字である。 ただし、 0≤j≤8について jの次の数字は j+1 であり、 9 の次の数字は 0
である。
与えられた暗証番号が弱い暗証番号ならば Weak を、そうでないならば Strong を出力してください。
###入力
X1X2X3X4(間なし)
###出力
Strong or Weak
###コード
C++
1#include <algorithm> 2#include <iostream> 3#include <stdio.h> 4#include <vector> 5using namespace std; 6int main() { 7 int T; 8 int A[4]; 9 cin >> T; 10 A[0] = T / 1000; 11 A[1] = (T % 1000) / 100; 12 A[2] = (T % 100) / 10; 13 A[3] = T % 10; 14 if (A[0] == A[1] && A[1] == A[2] && A[2] == A[3])cout << "Weak" << endl; 15 else if (A[0] == 9 && A[1] == 0 && A[2] == 1 && A[3] == 2)cout << " Weak" << endl; 16 else if (A[1] == 9 && A[2] == 0 && A[3] == 1 && A[0] == 2)cout << " Weak" << endl; 17 else if (A[2] == 9 && A[3] == 0 && A[0] == 1 && A[1] == 2)cout << " Weak" << endl; 18 else if (A[3] - A[2] == 1 && A[2] - A[1] == 1 && A[1] - A[0] == 1)cout << "Weak" << endl; 19 else cout << "Strong" << endl; 20}
###問題点
これをコンピュータでチェックしたところ、ほとんどは大丈夫だったのですが一部うまくいきませんでした。
穴があるのはわかるのですがそれがどこかわかりません。
###参考
Visual studio 使用
問題はAt coderより(チェックも)
リンク https://atcoder.jp/contests/abc212/tasks/abc212_b
初学者なのでできるだけかみ砕いて説明してもらえるとありがたいです。
回答3件
あなたの回答
tips
プレビュー