求助,关于Special Judge
  • 板块灌水区
  • 楼主zyh1145
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/25 22:21
  • 上次更新2025/1/26 12:41:49
查看原帖
求助,关于Special Judge
1029978
zyh1145楼主2025/1/25 22:21

我在还原某大赛的题目(具体见https://www.luogu.com.cn/problem/U529638

但是它有SPJ,本人不会用,于是导致炸了(悲

问一下,我目前把20个点和checker.cpp打包在了一个zip中,这个checker.cpp的内容是这样的:

#include <bits/stdc++.h>
#include "testlib.h"
#define fin(str) freopen(str,"r",stdin)
#define fout(str) freopen(str,"w",stdout)
#define ll long long
using namespace std;

const int maxn=1e3+5;

int n,a[maxn][maxn],s[maxn][maxn];
int dx[]={0,-1,0,0,1};
int dy[]={0,0,-1,1,0};

int main(int argc, char* argv[]) {
    registerTestlibCmd(argc, argv);
    
    int T=inf.readInt();
    while (T--){
    	n=inf.readInt();
    	string data_ans=ouf.readToken();
    	if ((data_ans[0]=='N')^(n&1)) quitf(_wa,"Wrong judgement.");
    	if (data_ans[0]=='N') continue;
	    for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) a[i][j]=ouf.readInt();
	    for (int i=1;i<=n;i++){
	    	for (int j=1;j<=n;j++){
	    		s[i][j]=0;
	    		for (int k=1;k<=4;k++){
	    			int x=i+dx[k],y=j+dy[k];
	    			if (x<0 || x>n || y<0 || y>n) continue;
	    			s[i][j]+=a[x][y];
				}
				if (s[i][j]!=2) quitf(_wa,"Illegal arrangement.");
			}
		}
	}
    
    quitf(_ok,"You made the perfect atom!");
	return 0;
}

但是还是不行,请问有啥问题吗这里面

2025/1/25 22:21
加载中...