前提・実現したいこと
なぜREになるのか教えてください。
(第一回 アルゴリズム実技検定 過去問 E SNSのログ)
発生している問題・エラーメッセージ
28のテストケースのうち、21個のケースにおいて実行時エラーになります。
該当のソースコード
C++
1#include <bits/stdc++.h> 2using namespace std; 3typedef long long ll; 4int main() { 5 ll N, Q; cin>> N>> Q; 6 vector<string> S(Q); 7 for(int i=0; i < Q; i++){ 8 cin>> S.at(i); 9 if(S.at(i) == "1"){ 10 char a; 11 char b; 12 cin>> a>> b; 13 S.at(i) += a; 14 S.at(i) += b; 15 } 16 else { 17 char a; 18 cin>> a; 19 S.at(i) += a; 20 } 21 } 22 vector<vector<char>> f(N, vector<char>(N, 'N')); 23 for(int i=0; i < Q; i++){ 24 string s = S.at(i); 25 if(s.at(0) == '1'){ 26 int A = (int)(s.at(1) - '0'); 27 int B = (int)(s.at(2) - '0'); 28 f.at(A-1).at(B-1) = 'Y'; 29 } 30 else if(s.at(0) == '2'){ 31 int A = (int)(s.at(1) - '0'); 32 vector<int> memory; 33 for(int j=0; j < N; j++){ 34 if(f.at(j).at(A-1) == 'Y'){ 35 memory.push_back(j+1); 36 } 37 } 38 for(int x : memory){ 39 f.at(A-1).at(x-1) = 'Y'; 40 } 41 } 42 else if(s.at(0) == '3'){ 43 vector<int> memory; 44 int A = (int)(s.at(1) - '0'); 45 for(int j=0; j < N; j++){ 46 if(f.at(A-1).at(j) == 'Y'){ 47 memory.push_back(j+1); 48 } 49 } 50 for(int x : memory){ 51 for(int j=0; j < N; j++){ 52 if(f.at(x - 1).at(j) == 'Y'){ 53 f.at(A-1).at(j) = 'Y'; 54 } 55 } 56 } 57 } 58 } 59 for(int i=0; i < N; i++)f.at(i).at(i) = 'N'; 60 for(int i=0; i < N; i++){ 61 for(int j=0; j < N; j++){ 62 cout<< f.at(i).at(j); 63 if(j >= N-1)cout<< endl; 64 } 65 } 66}
試したこと
AtCoderでコードテストを行った限りでは、正常に動いています。
補足情報(FW/ツールのバージョンなど)
C++の(GCC 9.2.1)です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。