社区讨论

赠送数据生成器

P4315月下“毛景树”参与者 2已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@lp0hil2t
此快照首次捕获于
2023/11/16 09:00
2 年前
此快照最后确认于
2023/11/16 13:08
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10, mod = 1e9 + 7, INF = 0x3f3f3f3f;
int n, m, tot, k, ans;
string s[5] = {"", "Max", "Cover", "Add", "Change"};

int random(int n) {
	return 1ll * rand() * rand() % n + 1;
}

int main() {
	freopen("tree.in","w",stdout);
	srand((unsigned)time(0));
	n = random(8) + 1;
	printf("%d\n", n);
	for(int i = 2; i <= n; i++) {
		int fa = random(i - 1);
		int z = random(10);
		printf("%d %d %d\n", i, fa, z);
	}
	for(int i = 1; i <= 7; i++) {
		int p = random(4);
		cout << s[p] << " ";
		if(s[p][0] == 'M') {
			int x = random(n), y = random(n);
			while(x == y) {
				x = random(n);
				y = random(n);
			}
			printf("%d %d\n", x, y);
		}
		else if(s[p][1] == 'o') {
			int x = random(n), y = random(n), z = random(10);
			while(x == y) {
				x = random(n);
				y = random(n);
			}
			printf("%d %d %d\n", x, y, z);
		}
		else if(s[p][1] == 'h') {
			int x = random(n - 1), z = random(10);
			printf("%d %d\n", x, z);
		}
		else if(s[p][1] == 'd') {
			int x = random(n), y = random(n), z = random(10);
			while(x == y) {
				x = random(n);
				y = random(n);
			}
			printf("%d %d %d\n", x, y, z);
		}
	}
	puts("Stop");
	return 0;
}

有点难写,节约一下大家的时间

回复

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

正在加载回复...