Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52387 | lgh | 修复符文 | C++ | 解答错误 | 10 | 1000 MS | 568 KB | 741 | 2022-07-19 12:04:51 |
#include <bits/stdc++.h> using namespace std; template<typename T> inline void Read(T &x) { char ch=getchar(); x=0; while(!isdigit(ch)) ch=getchar(); while(isdigit(ch)) x=(x<<3)+(x<<1)+(ch^48),ch=getchar(); } int T,a,b,gc; string s,t; inline string solve(string str) { string A; A.insert(0,str,(int)str.size()-gc,gc); str.erase((int)(str.size())-gc,gc); str.insert(0,A); return str; } int main() { Read(T); while(T--) { bool flag=1; cin>>s>>t; Read(a),Read(b); gc=__gcd(abs(a-b),(int)s.size()); for(int i=0; i<(int)(s.size()); i+=gc) { if(solve(s)==t) puts("yes"),flag=0,i=(int)s.size(); else s=solve(s); } if(flag) puts("no"); } return 0; }