数据采用如下 gen 生成:
#include <bits/stdc++.h>
using namespace std;
int n, m;
set<pair<int, int>> s;
void add(int u, int v) { s.insert({min(u, v), max(u, v)}); }
int main()
{
freopen("data.in", "w", stdout);
n = 10000;
// m = 100000;
// 1 -> ... -> n
for (int i = 1; i <= n; i++)
if (i != 1)
add(1, i);
for (int i = 1; i <= n; i++)
if (i != n)
add(i, n);
// 2 -> ... -> n-1
for (int i = 1; i <= n; i++)
if (i != 2)
add(2, i);
for (int i = 1; i <= n; i++)
if (i != n - 1)
add(i, n - 1);
// 3 -> ... -> n-2
for (int i = 1; i <= n; i++)
if (i != 3)
add(3, i);
for (int i = 1; i <= n; i++)
if (i != n - 2)
add(i, n - 2);
// 4 -> ... -> n-3
for (int i = 1; i <= n; i++)
if (i != 4)
add(4, i);
for (int i = 1; i <= n; i++)
if (i != n - 3)
add(i, n - 3);
// 5 -> ... -> n-4
for (int i = 1; i <= n; i++)
if (i != 5)
add(5, i);
for (int i = 1; i <= n; i++)
if (i != n - 4)
add(i, n - 4);
cout << n << " " << s.size() << '\n';
for (auto i : s)
cout << i.first << ' ' << i.second << '\n';
return 0;
}
out 应该是
26974803960
一共是 99945 条边,刚好不超。
可以叉掉爆搜和 ans 没开 long long 的。
https://www.luogu.com.cn/blog/_post/496399
https://www.luogu.com.cn/blog/_post/504988
这两位的题解被叉了。
另外,题目下方的空间限制是 64M,题目本身设置了 128M。128M 这两篇题解也活不下来。