社区讨论

求助,关于Special Judge

灌水区参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m6ca5lh1
此快照首次捕获于
2025/01/25 22:22
去年
此快照最后确认于
2025/11/04 10:39
4 个月前
查看原帖
我在还原某大赛的题目(具体见https://www.luogu.com.cn/problem/U529638 )
但是它有SPJ,本人不会用,于是导致炸了(悲
问一下,我目前把20个点和checker.cpp打包在了一个zip中,这个checker.cpp的内容是这样的:
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;
}
但是还是不行,请问有啥问题吗这里面

回复

3 条回复,欢迎继续交流。

正在加载回复...