ABC232-B Caesar Cipher(https://atcoder.jp/contests/abc232/tasks/abc232_b)
にて、自分の提出したコードが通らず、模範解答を参考にstringの宣言部分をループ内に入れたらACになったのですが、なぜ最初自分が提出したコードが弾かれてループ内に入れたらACになるのでしょうか...?
コードの概要は以下で、開発環境はAtCoderのコードテストです。
初心者の質問で申し訳ないのですが、お願いします。
C++
#include <bits/stdc++.h> #include <string> #define _GLIBCXX_DEBUG #define rep(i, n) for (int i = 0; i < (int)(n); i++) using namespace std; int main(){ string s,t; cin>>s>>t; bool flag=false; //string m=s; ここで宣言をしたらWA rep(k,26){ //string m=s; ここで宣言をしたらAC rep(i,s.size()){ m.at(i)='a'+(m.at(i)+k)%26; } if(t==m) flag=true; } if(flag) cout<<"Yes"<<endl; else cout<<"No"<<endl; }
まだ回答がついていません
会員登録して回答してみよう