题意:构造一张N个结点无重边、无自环的无向图。使得其最小生成树和最大生成树共享K条边。

样例一很具有启发性:

当K!=0时,我们可以先构造出一条链,链的长度为n-k的链,作为最小生成树的一部分,之后由点N向其他N-1个点连边,其中这N-1条边的边权严格大于之前N-K-1条边的。这样可以保证最大生成树与最小生成树共享了那N-1条边中的K条。

当K=0时,依照以上方法构造会出现重边。其实也很简单,先以小权值将N个点串成一条链。再将1向3~n连边,最后将2、4连边即可。

#include<bits/stdc++.h>
using namespace std;
int n,k;
int main(){
scanf("%d%d",&n,&k);
if(k>=n||((n==||n==)&&k==)){printf("-1\n");return ;}
int cnt=;cnt++;
if(k==){
printf("%d\n",*n-);
for(int i=;i<n;i++,cnt++)printf("%d %d %d\n",i,i+,cnt);
for(int i=;i<=n;i++,cnt++)printf("1 %d %d\n",i,cnt);
printf("2 4 %d\n",cnt);
return ;
}
printf("%d\n",*n-k-);
for(int i=;i<=n-k-;i++,cnt++)printf("%d %d %d\n",i,i+,cnt);
for(int i=;i<=n-;i++,cnt++)printf("%d %d %d\n",n,i,cnt);
return ;
}

最新文章

  1. Django rest_framework 实用技巧
  2. HDU5887 Herbs Gathering(2016青岛网络赛 搜索 剪枝)
  3. 解决Chrome flash过期
  4. gradle providedCompile 与compile区别
  5. 为YAESU FT-817ND 增加频谱功能
  6. JavaScript操作DOM对象
  7. Nginx 配置 Basic 认证
  8. js关闭当前页面/关闭当前窗口
  9. HighCharts学习笔记
  10. [Everyday Mathematics]20150120
  11. arcgis通过 Python 使用工具 获得结果信息
  12. ARM学习笔记12——GNU ARM汇编伪操作
  13. [LeetCode#263]Factorial Trailing Zeroes
  14. 371. Sum of Two Integers -- Avota
  15. IOS Swift语言开发 tableView的重用以及自cell的自适应高度
  16. HDU - 3652
  17. spring的历史和哲学
  18. 使用phpexcel上传下载excel文件
  19. 加载UI工程的csb,以及纹理缓存情况
  20. puppeteer(一)环境搭建——新Web自动化工具(同selenium)

热门文章

  1. POJ1222EXTENDED LIGHTS OUT(高斯消元)
  2. 用git上传本地文件到github
  3. Tomcat降权启动
  4. 京东首页原生----js制作|css动画|js动画|计时器--轮播图(好久没更新,这两天闲的蛋疼做个京东页面分辨率1366*768,919京东,适应没调!)要文件加关注找我要哦!
  5. [java语言]——InetAddress类的getByName()方法
  6. PyCharm汉化、破解教程
  7. sql 1.1 1.1.1 1.10.1 排序
  8. 机器学习,安装python的支持包
  9. 关于thinkphp控制器引用model里的方法的一点收获
  10. C#.Net调用VB.Net中的MY