poj 3711: 字串移位包含問題
阿新 • • 發佈:2019-01-27
解題思路:
(1)字串處理
(2)string性質的應用
(3)兩個字串都可能是子串
#include<iostream> #include<cstring> using namespace std; int main() { int n; cin>>n; string astring,bstring,cstring; bool flag; while(n--) { cin>>astring>>bstring; flag = false; //bstring為子串 for(int i=0;i<astring.length();i++) { cstring.clear(); cstring += astring.substr(i,astring.length() - i); cstring += astring.substr(0,i); //cout<<cstring<<endl; if(cstring.find(bstring) < cstring.length()) { flag = true; break; } } //astring為子串 for(int i=0;i<bstring.length();i++) { cstring.clear(); cstring += bstring.substr(i,bstring.length() - i); cstring += bstring.substr(0,i); //cout<<cstring<<endl; if(cstring.find(astring) < cstring.length()) { flag = true; break; } } if(flag) cout<<"true"<<endl; else cout<<"false"<<endl; } return 0; }