出题人不会配置,放一下grader.cpp大家自己复制到代码里再提交
#include<bits/stdc++.h>
void solve(int n,int m,std::vector<std::vector<char> > &Matrix);
const long long Hashmod1=998244353;
const long long HashBase1=32687;
const long long Hashmod2=1e9+7;
const long long HashBase2=131;
inline long long Hasher1(int N,int M,std::vector<std::vector<char> >Matrix)
{
long long re=0;
for(int i=1;i<=N;i+=1)
for(int j=1;j<=M;j+=1)
re=(re*HashBase1%Hashmod1+Matrix[i][j])%Hashmod1;
return re;
}
inline long long Hasher2(int N,int M,std::vector<std::vector<char> >Matrix)
{
long long re=0;
for(int i=1;i<=N;i+=1)
for(int j=1;j<=M;j+=1)
re=(re*HashBase2%Hashmod2+Matrix[i][j])%Hashmod2;
return re;
}
const std::string input_secret="HOHDNHRNdeqPd";
const std::string output_secret="nPzsIlSrZvx";
int main()
{
// freopen("chicken.in","r",stdin);
// freopen("chichen.out","w",stdout);
std::string input;
std::cin>>input;
if(input!=input_secret)
{
puts("SV");
exit(0);
}
int Time;
assert(1==scanf("%d",&Time));
int N, M;
assert(2 == scanf("%d %d", &N, &M));
std::vector<std::vector<char> > Mat;
std::vector<char>Ori;
for(int i=0;i<=M;i+=1)Ori.emplace_back('g');
for(int i=0;i<=N;i+=1)Mat.emplace_back(Ori);
std::cout<<output_secret<<std::endl;
if(1ll*Time*N*M<=500000)
{
while(Time--)
{
solve(N,M,Mat);
for(int i=1;i<=N;i+=1,puts(""))
for(int j=1;j<=M;j+=1)
putchar(Mat[i][j]);
puts("");
}
}
else
{
while(Time--)
{
solve(N,M,Mat);
printf("%lld %lld\n",Hasher1(N,M,Mat),Hasher2(N,M,Mat));
}
}
return 0;
}