社区讨论
求助DL,刚搓的checker用不了
学术版参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhk70djq
- 此快照首次捕获于
- 2025/11/04 14:33 4 个月前
- 此快照最后确认于
- 2025/11/04 14:33 4 个月前
最近出了道幻方的题,答案不唯一要用 SPJ,就手搓了个checker.cpp,一测,报了个 wrong output format Expected EOLN,求助一下大佬。
以下是checker.cpp。
CPP#include "testlib.h"
int main(int argc, char *argv[])
{
registerTestlibCmd(argc,argv);
int n = inf.readInt();
inf.readEof();
int a[n][n];
for(int i = 0;i < n;i++)
{
for(int j = 0;j < n;j++)
{
a[i][j] = ouf.readInt();
if(i == n - 1 && j == n - 1)ouf.readEof();
else if(j == n - 1)ouf.readEoln();
else ouf.readSpace();
}
}
bool h[n * n];
for(int i = 0;i < n;i++)
{
for(int j = 0;j < n;j++)
{
if(a[i][j] < 1 || a[i][j] > n * n || h[a[i][j]])quitf(_wa,"The number(s) is/are invalid.");
h[a[i][j]] = 1;
}
}
int sum = n * (n * n + 1) >> 1,sum3 = 0,sum4 = 0;
for(int i = 0;i < n;i++)
{
int sum1 = 0,sum2 = 0;
for(int j = 0;j < n;j++)
{
sum1 += a[i][j];
sum2 += a[j][i];
}
sum3 += a[i][i];
sum4 += a[i][n - i - 1];
if(sum1 != sum || sum2 != sum)quitf(_wa,"The sum(s) is/are invalid.");
}
if(sum3 != sum || sum4 != sum)quitf(_wa,"The sum(s) is/are invalid.");
quitf(_ok,"The ans is ok.");
}
输入为
CPP3,输出为8 1 6
3 5 7
4 9 2
因为这个输出是我在win下手造的,还特意去hexed去了
\r,结果还是有问题,求 DL 答疑。回复
共 2 条回复,欢迎继续交流。
正在加载回复...