【Henu ACM Round#16 D】Bear and Two Paths
2024-08-31 17:24:11
【链接】 我是链接,点我呀:)
【题意】
在这里输入题意
【题解】
先搞一条a到b的路径
a c x3 x4 x5....xn-2 d b
然后第二个人的路径可以这样
c a x3 x4 x5...xn-2 b d
也即加两条边[a,x3] [xn-2,b]
所以最少只需要n+1条边。
(尽量让边共用,只有两条边是需要特殊加进去的
(可以这样理解,加一条边的话,无论怎么加都不够的。所以加两条肯定是最优的了。
这样贪就好了
但是n=4的时候;‘
会发现两对起点和终点中肯定有一对是有一条边**直接相连((的(在路径存在的情况下)
所以始终无解
【代码】
#include <bits/stdc++.h>
using namespace std;
int n,k,a,b,c,d;
int main(){
#ifdef LOCAL_DEFINE
freopen("rush_in.txt", "r", stdin);
#endif
ios::sync_with_stdio(0),cin.tie(0);
cin >> n >> k;
cin >>a>>b>>c>>d;
if (n==4){
cout<<"-1"<<endl;
}else{
int m = n+1;
if (k<m){
cout<<"-1"<<endl;
}else{
cout<<a<<" "<<c;
int first =-1;
for (int i = 1;i <= n;i++)
if (i!=a && i!=b && i!=c && i!=d)
cout<<" "<<i;
cout <<" "<<d<<" "<<b<<endl;
cout<<c<<" "<<a;
for (int i = 1;i <= n;i++)
if (i!=a && i!=b && i!=c && i!=d)
cout<<" "<<i;
cout<<" "<<b<<" "<<d<<endl;
}
}
return 0;
}
最新文章
- 如何设计一门语言(七)——闭包、lambda和interface
- 支持coclock模式
- Java多线程读取大文件
- VS2012/2013 停止调试后,无法刷新页面
- hdu 2844 多重背包coins
- 【GPU编解码】GPU硬编码
- delphi treeview 鼠标移动显示hint信息
- linux 0.11 源码学习+ IO模型
- chrome 下的 proxy 插件安装
- 每天进步一点点之SQL 获取表中某个时间字段离当前时间最近的几条
- PRINCE2重要性--光环国际培训
- Attribute注解
- 201521123037 《Java程序设计》第9周学习总结
- TextMesh Pro 超链接解析失败
- Angular -ui - BootStrap组件的解释以及使用
- DevExpress控件库 开发使用经验总结3 制作项目安装包
- VMare Workstation 12 安装 AsteriskNow freePBX
- centos7.2 下 nginx 开机启动
- docker容器启动设置固定IP
- p1218 Superprime Rib
热门文章
- SVN配置以及自己主动部署到apache虚拟文件夹
- Compile OpenCASCADE7.3 with VS2008
- 大海教你学手游2015CocosLua第一季_00课程介绍
- String slices
- java中";";.equals(A)与A.equals(";";)一样不?
- Win32++:可替代MFC的Windows桌面应用开发框架
- .NET简谈——跨进高级编程门槛的必经之路
- MVC中几种常用的ActionResult
- 与 JSON 相关的一些操作 (项目中用到一部分,后续逐渐完善)
- QlikView随意改变图例的位置