给一个数据生成器
查看原帖
给一个数据生成器
297555
Zlc晨鑫楼主2023/11/6 21:19

虽然很烂,但是能用

#include <bits/stdc++.h>

using namespace std;

vector<int> a;

int rnd() {
	return a[rand()%a.size()];
}

void del(int x) {
	for (auto i=a.begin();i!=a.end();++i)
		if (*i==x) {
			a.erase(i);
			return;
		}
}

int main() {
	a.push_back(1);
	srand(time(0));
	int n=10,m=10;
	printf("%d %d\n",n,m);
	for (int i=1;i<=n;i++) printf("%d ",rand()%4);
	cout<<endl;
	int idx=1;
	while (m--) {
		int opt=rand()%4;
		if (a.size()==1&&opt==1) opt=0;
		if (opt==0||opt==3) {
			int p,x,y;
			p=rnd();
			x=rand()%n+1,y=rand()%(n-x+1)+1;
			if (opt==0) idx++,a.push_back(idx);
			printf("%d %d %d %d\n",opt,p,x,y+x-1);
		}
		else if (opt==1) {
			int b=rnd();
			del(b);
			int a=rnd();
			printf("%d %d %d\n",opt,a,b);
		}
		else if (opt==2) {
			int p=rnd();
			int x=rand()%10;
			int q=rand()%n+1;
			printf("%d %d %d %d\n",opt,p,x,q);
		}
		else if (opt==4) {
			int p=rnd();
			int k=rand()%10+1;
			printf("%d %d %d\n",opt,p,k);
		}
	}
	return 0;
}
2023/11/6 21:19
加载中...