#C++ Findメソッドについて
atcoderで勉強中に他の方のコードで以下のようなコードがありました。
質問はa.findの部分でs[i]に"atcoder"のいずれかのalphabetが含まれているかを確認しています。
ただ"atcoder"の文字列に続けてsを書いてある理由が理解できませんでした。
c++
1#include <bits/stdc++.h> 2using namespace std; 3#define rep(i, n) for(int i = 0; i < (n); ++i) 4 5int main() { 6 string s, t; 7 cin >> s >> t; 8 9 bool flg = true; 10 rep(i, s.size()) { 11 if(s[i] == t[i]) continue; 12 if(s[i] != t[i]) { 13 if(s[i] == '@') swap(s[i], t[i]); 14 15 // 質問の部分 16 if(t[i] == '@' && "atcoder"s.find(s[i]) != string::npos) continue; 17 } 18 flg = false; 19 } 20 cout << (flg ? "You can win" : "You will lose") << endl; 21} 22 23
"atcoder"という文字列を変数にすればうまくいくとは思うのですが、どうしてこのようなコードを書くのか教えていただきたいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。