Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52416 | 304 固体 fourmis | 修复符文 | C++ | 运行超时 | 60 | 1000 MS | 1724 KB | 792 | 2022-07-19 12:09:27 |
#include <iostream> #include <string> #include <algorithm> int main() { int t; std::cin >> t; while(t--){ std::string s, obj; int a, b; std::cin >> s >> obj >> a >> b; std::string origin = s; int prev = a; for(int i = 0; i < 100000; i++){ s = s.substr(prev) + s.substr(0, prev); std::reverse(s.begin(), s.end()); prev = (prev == a) ? b : a; if(s == obj){ std::cout << "yes" << std::endl; goto end; } } s = origin; prev = b; for(int i = 0; i < 100000; i++){ s = s.substr(prev) + s.substr(0, prev); std::reverse(s.begin(), s.end()); prev = (prev == a) ? b : a; if(s == obj){ std::cout << "yes" << std::endl; goto end; } } std::cout << "no" << std::endl; end: ; } return 0; }