已经通过测试。
#include "testlib.h"
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char **argv) {
registerTestlibCmd(argc, argv);
string s1 = inf.readString(), s2 = inf.readString();
int out_len = ouf.readInt(1, min(s1.length(), s2.length()));
int pos1 = ouf.readInt(0, s1.length() - out_len), pos2 = ouf.readInt(0, s2.length() - out_len);
bool succ = false;
s1 = s1.substr(pos1, out_len), s2 = s2.substr(pos2, out_len);
for(int i = 0; i < s1.length(); i++){
rotate(s1.begin(), s1.begin() + 1, s1.end());
if(s1 == s2) {succ = true; break;}
}
reverse(s1.begin(), s1.end());
for(int i = 0; i < s1.length(); i++){
rotate(s1.begin(), s1.begin() + 1, s1.end());
if(s1 == s2) {succ = true; break;}
}
if(!succ) quitf(_wa, "Invalid!");
int ans_len = ans.readInt();
if(out_len > ans_len) quitf(_fail, "Too long@_@???");
else if(out_len == ans_len) quitf(_ok, "Ohhhhhh!!");
else if(out_len >= (ans_len + 1) / 2) quitp(0.2, "Good!!");
else quitf(_wa, "Too short!!");
return 0;
}