前提・実現したいこと
Atcoder の ABC076のC問題(https://atcoder.jp/contests/abc076/tasks/abc076_c)についてです。
発生している問題・エラーメッセージ
以下のソースコードでWAしてしまいます。何度も書き換えましたが、どうしても3つのケースのみ通りません。
原因を教えていただけませんか。
追記;Warningの件、ご指摘ありがとうございます。
該当のソースコード
C++
1#include <bits/stdc++.h> 2using namespace std; 3 4 5int main() { 6 string S,T; 7 cin >> S >> T; 8 9 int change_num = -1; 10 11 if (S.size() < T.size()) { 12 cout << "UNRESTORABLE" << endl; 13 return 0; 14 } 15 16 for(long unsigned int i=0; i < S.size()-T.size()+1; i++){ 17 bool flag_one = true; 18 for(long unsigned int k=0; k<T.size(); k++){ 19 if( S.at(i+k) == T.at(k) || S.at(i+k) == '?'){ 20 }else{ 21 flag_one = false; 22 } 23 } 24 25 if(flag_one){ 26 change_num = i; 27 break; 28 } 29 } 30 31 if(change_num == -1){ 32 cout << "UNRESTORABLE" << endl; 33 return 0; 34 } 35 36 for(long unsigned int i=0; i<T.size(); i++){ 37 if(S.at(i+change_num) == '?') S.at(i+change_num) = T.at(i); 38 } 39 for(long unsigned int i=0; i<S.size(); i++){ 40 if(S.at(i) == '?') S.at(i) = 'a'; 41 } 42 43 cout << S << endl; 44 45} 46 47
回答3件
あなたの回答
tips
プレビュー