AIZU ONLINE JUDGEのITP1_6_Bについて質問です。
こちらの問題、下記のコードでは受理されるのですが
C++
1#include <iostream> 2using namespace std; 3 4int main(){ 5 int n, b; 6 bool cards[4][14]; 7 char a; 8 9 for(int i = 0; i < 4; i++){ 10 for(int j = 0; j < 15; j++){ 11 cards[i][j] = false; 12 } 13 } 14 15 cin >> n; 16 for(int i = 0; i < n; i++){ 17 cin >> a >> b; 18 if (a == 'S') cards[0][b] = true; 19 if (a == 'H') cards[1][b] = true; 20 if (a == 'C') cards[2][b] = true; 21 if (a == 'D') cards[3][b] = true; 22 } 23 24 for(int i = 0; i < 4; i++){ 25 for(int j = 1; j<= 13; j++){ 26 if(cards[i][j] == false){ 27 if( i == 0) a = 'S'; 28 if( i == 1) a = 'H'; 29 if( i == 2) a = 'C'; 30 if( i == 3) a = 'D'; 31 cout << a << " " << j << endl; 32 } 33 else continue; 34 } 35 36 } 37 38 return 0; 39}
下記のように書き直すと、runtime errorになってしまいます。
C++
1#include <iostream> 2using namespace std; 3 4int main(){ 5 int n, b; 6 bool cards[3][13]; 7 char a; 8 9 for(int i = 0; i < 4; i++){ 10 for(int j = 0; j < 15; j++){ 11 cards[i][j] = false; 12 } 13 } 14 15 cin >> n; 16 for(int i = 0; i < n; i++){ 17 cin >> a >> b; 18 if (a == 'S') cards[0][b] = true; 19 if (a == 'H') cards[1][b] = true; 20 if (a == 'C') cards[2][b] = true; 21 if (a == 'D') cards[3][b] = true; 22 } 23 24 for(int i = 0; i < 4; i++){ 25 for(int j = 1; j<= 13; j++){ 26 if(cards[i][j] == false){ 27 if( i == 0) a = 'S'; 28 if( i == 1) a = 'H'; 29 if( i == 2) a = 'C'; 30 if( i == 3) a = 'D'; 31 cout << a << " " << j << endl; 32 } 33 else continue; 34 } 35 36 } 37 38 return 0; 39}
こちら、何故なのか知っている方がいたら教えていただきたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/09 14:12
2020/03/10 13:23