提供数据生成器
查看原帖
提供数据生成器
1175391
___1cm___楼主2025/7/27 21:06
#include<bits/stdc++.h>
#include<bits/extc++.h>
#define inf64 (long long)0x3f3f3f3f3f3f3f3f
#define inf32 (int)0x3f3f3f3f
#define _inf32 (int)0xc0c0c0c0
#define _inf64 (long long)0xc0c0c0c0c0c0c0c0
#define T 20
#define N 10
#define V 100000000
using namespace std;
using namespace __gnu_pbds;
struct square{
	int sx,sy,tx,ty;
}s[1010];
int t,n,sx,sy,tx,ty;
int r(int l,int r){
	int len=r-l+1;
	return (long long)rand()*rand()*rand()%len+l;
}
bool chks(int n){
	for(int i=1;i<n;i++){
		if(s[i].sx<=s[n].sx && s[n].sx<=s[i].tx || s[i].sx<=s[n].tx && s[n].tx<=s[i].tx || s[n].sx<=s[i].sx && s[i].sx<=s[n].tx || s[n].sx<=s[i].sx && s[i].sx<=s[n].tx){
			if(s[i].sy<=s[n].sy && s[n].sy<=s[i].ty || s[i].sy<=s[n].ty && s[n].ty<=s[i].ty || s[n].sy<=s[i].sy && s[i].sy<=s[n].ty || s[n].sy<=s[i].sy && s[i].sy<=s[n].ty){
				return 0;
			}
		}
	}
	return 1;
}
bool chkp(int x,int y){
	for(int i=1;i<=n;i++){
		if(s[i].sx<x && x<s[i].tx && s[i].sy<y && y<s[i].ty){
			return 0;
		}
	}
	return 1;
}
int main(){
    freopen("sum.out","w",stdout);
	srand(time(0));
	// t=r(1,T);
	t=1000;
	printf("%d\n",t);
	while(t--){
		n=r(1,N);
		// printf("%d\n",n);
		for(int i=1;i<=n;){
			// cerr<<i<<endl;
			s[i].sx=r(-V,V-1);
			s[i].sy=r(-V,V-1);
			s[i].tx=r(s[i].sx+1,V);
			s[i].ty=r(s[i].sy+1,V);
			if(chks(i)){
				// printf("%d %d %d %d\n",s[i].sx,s[i].sy,s[i].tx,s[i].ty);
				i++;
			}
		}
		sx=r(-V,V);
		sy=r(-V,V);
		while(chkp(sx,sy)==0){
			sx=r(-V,V);
			sy=r(-V,V);
		}
		tx=r(-V,V);
		ty=r(-V,V);
		while(chkp(tx,ty)==0 || sx==tx&&sy==ty){
			tx=r(-V,V);
			ty=r(-V,V);
		}
		printf("%d %d %d %d\n",sx,sy,tx,ty);
		printf("%d\n",n);
		for(int i=1;i<=n;i++){
			printf("%d %d %d %d\n",s[i].sx,s[i].sy,s[i].tx,s[i].ty);
		}
	}
}
2025/7/27 21:06
加载中...