check.cpp 内容如下(作者太弱了,并没有实测):
#include"testlib.h"
#include<bits/stdc++.h>
int main(int argc,char*argv[]){
using namespace std;
registerTestlibCmd(argc,argv);
int H17=ans.readInt();
if(H17==-1){
int n=ouf.readInt();
if(n==-1)
quitf(_ok,"The answer is correct: No solution, good luck!");
else
quitf(_wa,"The answer is wrong: Your output isn't no solution, but the answer is.");
}
int n=inf.readInt(),cnt;
vector<int>s(n,0),answ(n<<1,0),cur(n,0);
queue<int>a;
for(int i=0;i<(n<<1);i++)
answ[i]=inf.readInt();
for(int i=0;i<n;i++)
a.push(answ[i]);
for(int i=0;i<n;i++)
s[i]=ouf.readInt();
for(int i=0;i<(n<<1);i++){
if(a.front()!=answ[i]){
quitf(_wa,"The answer is wrong: At the %d-th number, expect %d but %d found.",i,answ[i],a.front());
return 0;
}
cnt=n;
while(!a.empty()){
cur[--cnt]=a.front();
a.pop();
}
for(int i=n-2;i>=0;i--)
a.push(cur[i]);
int nxt_int=0;
for(int i=0;i<n;i++)
nxt_int^=(cur[i]*s[i]);
a.push(nxt_int);
}
quitf(_ok,"The answer is correct: All %d numbers are correct, good luck!",n<<1);
return 0;
}
输入文件正常放,输出文件对于无解放 -1 否则随便放一个整数.