博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NOIP2018D2T1 旅行
阅读量:5214 次
发布时间:2019-06-14

本文共 1103 字,大约阅读时间需要 3 分钟。

#include
#include
#include
int n,m,cnt,mini[500005],ans[500005],u[500005],v[500005];bool vis[500005];std::set
e[500005];inline bool cmp(const int *a,const int *b,int now){ for(int i=1;i<=now;i++){ if(a[i]
b[i])return false; } return true;}inline void dfs(int u){ vis[u]=1; ans[++cnt]=u; if(!cmp(ans,mini,cnt))return; if(cnt==n){ for(int i=1;i<=n;i++)mini[i]=ans[i]; } for(std::set
::iterator it=e[u].begin();it!=e[u].end();it++){ int v=*it; if(!vis[v]){ dfs(v); } }}int main(){ memset(mini,0x3f,sizeof(mini)); scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ scanf("%d%d",&u[i],&v[i]); e[u[i]].insert(v[i]); e[v[i]].insert(u[i]); } if(n==m){ for(int i=1;i<=m;i++){ if(i>1){ e[u[i-1]].insert(v[i-1]); e[v[i-1]].insert(u[i-1]); } e[u[i]].erase(v[i]); e[v[i]].erase(u[i]); cnt=0; memset(vis,0,sizeof(vis)); vis[1]=1; dfs(1); } } else{ dfs(1); } for(int i=1;i<=n;i++){ printf("%d ",mini[i]); } }

转载于:https://www.cnblogs.com/Y15BeTa/p/11570086.html

你可能感兴趣的文章
springboot添加servlet的两种方法
查看>>
java的Array和List相互转换
查看>>
win7安装IIS
查看>>
java获取当前项目路径System.getProperty("user.dir")
查看>>
idea关闭sonarLint自动扫描
查看>>
java的byte[]与String相互转换
查看>>
idea打开Run Dashboard
查看>>
java注解简单使用
查看>>
【转】Axure RP9.0.0.3661Team Edition激活码
查看>>
springboot集成mybatisplus小例子
查看>>
jqGrid设置单选
查看>>
mysql查看和修改最大连接数
查看>>
【转】查看电脑显卡型号及显卡性能
查看>>
windows安装reids
查看>>
bat启动OpenOffice4
查看>>
layui父页面获取子页面数据
查看>>
ztree实现拖拽移动和复制
查看>>
layui父页面执行子页面方法
查看>>
redis的window版本下载地址
查看>>
idea右下角显示使用内存情况
查看>>