Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52370 | zengjilin | 修复符文 | C++ | 解答错误 | 0 | 120 MS | 552 KB | 1080 | 2022-07-19 12:02:56 |
#include <bits/stdc++.h> using namespace std; int t,l[2]; char s[500005],u[500005]; char s1[500005]; int main() { scanf("%d",&t); while(t--) { int i; bool m,x=true; cin>>s>>u; scanf("%d %d",&l[1],&l[2]); int n=strlen(s); for(int i=1; i<=2; i++) { for(int j=0; j<=l[i]-1; j++) s1[j]=s[l[i]-1-j]; for(int j=l[i]; j<n; j++) s1[j]=s[n-j+l[i]-1]; x=true; for(int j=0; j<n; j++) { if(s1[j]==u[j]) x=true; else { x=false; break; } } if(x) break; } if(x) { cout<<"yes"<<endl; continue; } for(i=0; i<n; i++) { if(s[0]==u[i]) { m=true; for(int j=i+1; j<i+n; j++) { if(s[j-i]==u[j%n]) m=true; else { m=false; break; } } if(m) break; else continue; } } if(m) cout<<"yes"<<endl; else cout<<"no"<<endl; } return 0; }