非常强的构造题。
很显然的是我们要构造一个类似菊花图的东西,因为这样的话两点之间路径的点数会非常少,很容易满足第二个条件。
但是因为直接菊花图的话会不满足第一个条件,,,所以我们可以构造一个类菊花图。
(题解太神了,%一发题解)
#include<cstdio> #define ll long long using namespace std; int main(){ int k; scanf("%d",&k); printf("%d\n",k<<1); for(int i=1;i<=k;i++){ printf("%d %d\n",i*2-1,i*2); for(int j=1;j<i;j++) printf("%d %d\n%d %d\n",i*2-1,j*2-1,i*2,j*2); for(int j=i+1;j<=k;j++) printf("%d %d\n%d %d\n",i*2-1,j*2,i*2,j*2-1); } return 0; }
原文地址:https://www.cnblogs.com/JYYHH/p/9176101.html
时间: 2024-10-15 01:06:20