Hack 用不超过 k 次闪现的做法
查看原帖
Hack 用不超过 k 次闪现的做法
275273
EuphoricStar楼主2023/12/15 10:36
#include <bits/stdc++.h>
#define pb emplace_back
#define fst first
#define scd second
#define mkp make_pair
#define mems(a, x) memset((a), (x), sizeof(a))

using namespace std;
typedef long long ll;
typedef double db;
typedef unsigned long long ull;
typedef long double ldb;
typedef pair<int, int> pii;

void solve() {
	int k = 17;
	int n = (1 << k);
	vector<pii> S;
	for (int i = 1; i + 1 < n / 2; i += 2) {
		S.pb(i, i + 1);
	}
	for (int i = n - 1; i >= n / 2; i -= 2) {
		S.pb(i, i - 1);
	}
	printf("%d %d 0\n", k, (int)S.size());
	for (int i = 1; i < k; ++i) {
		printf("1000000000 ");
	}
	puts("0");
	for (pii p : S) {
		printf("%d %d 0\n", p.fst, p.scd);
	}
}

int main() {
	int T = 1;
	// scanf("%d", &T);
	while (T--) {
		solve();
	}
	return 0;
}

2023/12/15 10:36
加载中...