原先 SPJ 将许多错误做法放过了,修正后原先只剩一篇枚举的题解正确,因此重新开放题解区。
现在的 SPJ,有误请指出:
#include"testlib.h"
#include<cstring>
using namespace std;
string a[105];
bool f[105][105], g[105][105];
int main(int argc,char* argv[]){
registerTestlibCmd(argc,argv);
int n=inf.readInt(1, 100);
int m=inf.readInt(1, 100);
for(int i=0;i<n;i++)
a[i]=inf.readToken();
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(a[i][j]=='x')f[i][j]=1;
int x_1=ouf.readInt(1, n),y_1=ouf.readInt(1, m),l_1=ouf.readInt(1, min(n - x_1, m - y_1) + 1);
x_1--,y_1--;
int x_2=ouf.readInt(1, n),y_2=ouf.readInt(1, m),l_2=ouf.readInt(1, min(n - x_2, m - y_2) + 1);
x_2--,y_2--;
for(int i=x_1,t_1=1;t_1<=l_1;t_1++,i++)
for(int j=y_1,t_2=1;t_2<=l_1;t_2++,j++)
g[i][j]=1;
for(int i=x_2,t_1=1;t_1<=l_2;t_1++,i++)
for(int j=y_2,t_2=1;t_2<=l_2;t_2++,j++)
g[i][j]=1;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(f[i][j] != g[i][j])
quitf(_wa,"The answer is wrong.");
quitf(_ok,"The answer is right");
}