pat 食物链(状态压缩求哈密顿回路)
来源:互联网 发布:caffe官网教程 编辑:程序博客网 时间:2024/06/05 02:28
状态压缩求哈密顿回路
#include<bits/stdc++.h>using namespace std;bool dp[23][1<<21];char s[22][22];bool vis[35];int ans[25];int n,f=0;bool dfs(int now,int cur,int cnt){ ans[cnt]=now; if(cnt==n) { if(s[now][1]=='W'||s[1][now]=='L') { f=1; for(int i=1;i<n;i++) { cout<<ans[i]<<' '; } cout<<ans[n]<<endl; return 1; } return 0; } int x=1; for(int i=2;i<=n;i++) { x<<=1; int st=cur|x; if(!vis[i]&&(s[now][i]=='W'||s[i][now]=='L')&&!dp[i][st]) { vis[i]=1; if(dfs(i,st,cnt+1)) return 1; vis[i]=0; } dp[i][st]=1; } return 0;}int main(){ //int n; cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cin>>s[i][j]; } vis[1]=1; dfs(1,1,1); if(f==0) cout<<"No Solution"<<endl;}
0 0
- pat 食物链(状态压缩求哈密顿回路)
- 团体程序设计天梯赛-练习集 -- L3-015. 球队“食物链”(状压+dfs 求哈密顿回路)
- 1519. Formula 1 (插头DP,求哈密顿回路)
- HDU4337(哈密顿回路)
- 哈密顿回路,状态dp poj2288
- hdu3001(集合dp求哈密顿回路)
- 状态DP求哈密顿回路个数 CodeForces 11D——A Simple Task
- hdu 4337 (哈密顿回路模板)
- POJ2438(哈密顿回路模板题)
- 最小哈密顿回路
- 哈密顿回路
- poj3229 哈密顿回路
- poj3311 哈密顿回路
- 哈密顿回路模版
- Hamilton-哈密顿回路
- 哈密顿回路
- 哈密顿回路
- pat甲1122. Hamiltonian Cycle(哈密顿回路+简单dfs)
- MSTAR数据转换成图片
- 深入理解Android Build系统
- "尚学堂杯"哈尔滨理工大学第七届程序设计竞赛——Hrbust2327 Collection Game
- c++ primer 13.2.1 13.25
- 笔记
- pat 食物链(状态压缩求哈密顿回路)
- C语言中关于数组的运算
- 陆金所产品爬虫
- rman输出信息解释及表空间备份与在线恢复
- 23种设计模式10---组合模式
- E-珈百璃的堕落
- Git的详细使用方法适用于window Linux 以及苹果系统 网址
- CommonDAOImpl中泛型使用
- 算是新天地