让你构造一棵树(给定了总结点数和总的叶子数),使得直径最小。

就先弄个菊花图(周围一圈叶子,中间一个点),然后平均地往那一圈放其他的点即可。

#include<cstdio>
using namespace std;
int n,K,Ks[200010],x[200010],y[200010],ans,e;
int main(){
scanf("%d%d",&n,&K);
for(int i=1;i<=K;++i){
Ks[i]=1;
}
int now=2;
for(;;){
for(int i=1;i<=K;++i,++now){
if(now>n){
goto OUT;
}
x[++e]=Ks[i];
y[e]=now;
Ks[i]=now;
if(i==1){
++ans;
}
else if(i==2){
++ans;
}
}
}
OUT:
printf("%d\n",ans);
for(int i=1;i<=e;++i){
printf("%d %d\n",x[i],y[i]);
}
return 0;
}

最新文章

  1. Function.prototype.call 和 Function.prototype.apply 的区别
  2. Prince2七大原则(4)
  3. vim中添加多行注释和删除多行注释
  4. java能不能自己写一个类叫java.lang.System/String正确答案
  5. AppleDoc的安裝使用
  6. iOS中block的使用、实现底层、循环引用、存储位置
  7. iOS之01-基本语法
  8. glusterFS安装维护文档
  9. Async 和 Await的性能(.NET4.5新异步编程模型)
  10. Python 学习笔记(四)正则、闭合、生成器
  11. Codevs 1082 线段树练习 3
  12. [Neural Networks] Momentum
  13. windows下node.js+sublime中安装coffeescript
  14. 如何直接在github上预览html网页效果
  15. hive------ Group by、join、distinct等实现原理
  16. Java集合详解5:深入理解LinkedHashMap和LRU缓存
  17. 进程池爬取并存入mongodb
  18. Feign 客户端源码解析
  19. N皇后问题(DFS)
  20. springmvc 动态加载配置文件

热门文章

  1. 转载 JAVA SE 连接ACCESS
  2. linux 下 /bin /sbin 的区别 -- (转)
  3. 抓其根本(一)(hdu2710 Max Factor 素数 最大公约数 最小公倍数.....)
  4. spring-retry 重试机制
  5. MFC不同工程(解决方案)之间对话框资源的复制与重用方法(转)
  6. vs 2015 插件 supercharger 破解方式
  7. Linux时间子系统之一:clock source(时钟源)【转】
  8. C#比较两个list集合,两集合同时存在或A集合存在B集合中无
  9. JWT认证不通过导致不能访问视图的解决方案
  10. bzoj 1485 卡特兰数 + 分解因子