#include<bits/stdc++.h>
using namespace std;
int m=15,id=1;
basic_string<int>g[100009];
void work(int x,int y){
if(y==m)return;
int u=++id,v=++id,w=++id;
g[x]+=u,g[u]+=v,g[u]+=w,work(v,y+1),work(w,y+1);
}
int main(){
freopen("1.in","w",stdout);
work(1,0);
printf("%d %d %d\n",id,id-1,99999);
for(int i=1;i<=id;++i)for(int j:g[i])printf("%d %d\n",i,j);
return 0;
}
正确输出:
15
90826
题解里的第一问答案不超过 log3n 的结论是假的,正确的上界是 log2n。两篇题解数组都开小了。