本题spj(自制版)
查看原帖
本题spj(自制版)
1093323
liujiayi666楼主2025/7/1 17:27

a.cpp

自己的代码(打开文件读写,读入文件为in.txt,输出文件为out.txt)

b.cpp

#include <bits/stdc++.h>
using namespace std;
const int N=2010;
int a[N][N];
int main() {
	freopen("in.txt","w",stdout);
	srand(time(0));
	int k=rand()%(int)1e9;
	int n=rand()%(int)2001;
	printf("%d %d\n",k,n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			a[i][j]=rand()%(int)(2e9+1);
			printf("%d%c",a[i][j],j!=n?' ':'\n');
		}
	}
	return 0;
} 

c.cpp

#include <bits/stdc++.h>
using namespace std;
const int N=3010;
#define int long long
int k,n;
int a[N][N],s[N][N];
int getsum(int x1,int y1,int x2,int y2){
	return s[x2][y2]-s[x1-1][y2]-s[x2][y1-1]+s[x1-1][y1-1];
}
signed main() {
	freopen("in.txt","r",stdin);
	scanf("%lld%lld",&k,&n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			scanf("%lld",&a[i][j]);
			s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
		}
	}
	freopen("out.txt","r",stdin);
	freopen("ot1.txt","w",stdout);
	char c=getchar();
	if(c=='N')printf("1\n");
	else{
		int x1,y1,x2,y2;
		x1=c-'0';
		while(1){
			c=getchar();
			if(c==' ')break;
			x1=x1*10+c-'0';
		}
		scanf("%lld%lld%lld",&y1,&x2,&y2);
		swap(x1,y1);swap(x2,y2);
		int sum=getsum(x1,y1,x2,y2);
		if(sum>=k&&sum<=2*k){
			printf("1\n");
		}else{
			printf("0\n");
		}
	}
	return 0;
} 

d.cpp

#include <bits/stdc++.h>
using namespace std; 
int main() {
	int tot=0;
	while(1){
		printf("Case:%d\n",++tot);
		system("b.exe");
		system("a.exe");
		system("c.exe");
		if(!system("fc ot1.txt ot2.txt")){
			cout<<"AC\n";
		}else{
			cout<<"WA\n";
			return 0;
		}
	}
	return 0;
} 

环境准备: 新建一个名为ot2.txt的txt文件,里面写1(然后换行)

2025/7/1 17:27
加载中...