没看懂这个帖子的证明。以下是数据生成器:
#include <cstdio>
#include <iostream>
#include <vector>
using namespace std;
constexpr int n = 100000, m = 1;
vector<int> edge[n + 1];
signed main() {
freopen("yzh", "w", stdout);
printf("%d %d\n", n, m);
int tot = 1, lst = 1;
for (int cen = 1; cen <= 11; ++cen) {
int t = 0;
for (int _ = 1; _ <= 9091 && tot < n; ++_) {
edge[lst].emplace_back(++tot);
t = tot;
}
lst = t;
}
for (int i = 1; i <= n; ++i) {
printf("%llu ", edge[i].size());
for (int x: edge[i]) printf("%d ", x);
puts("");
}
return 0;
}
输出的分子均为 1,分母最大为 35045533936901103742266369835677660952059689,显然超过了 2128=340282366920938463463374607431768211456。
不出意外,所有题解都被我叉掉了。申请撤下题解,并且申请添加该 Hack 数据。
应该满足题目所有限制。
高精度测试代码放在一楼。