/*
n 个点的无向图上有m条边,求出一条包含这n个点的回路。
n <= 150,竟然可以直接不加任何优化的DFS暴搜过去
*/
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <vector>
using namespace std;
#define N 200
vector<int> vec[N];
int mat[N][N],ord[N],vis[N];
int f = 0,n,m;
void dfs(int rt,int t)
{
if(f)
return ;
ord[t] = rt;
int i;
if(t == n)
{
if(mat[rt][1])
{
f = 1;
for(i = 1; i < n; ++i)
printf("%d ",ord[i]);
printf("%d\n",ord[i]);
}
return;
}
int len = vec[rt].size();
for(i = 0; i < len; ++i)
{
if(vis[vec[rt][i]] == 0)
{
hdu 4337 King Arthur's Knights#DFS
最新推荐文章于 2020-02-13 10:27:19 发布
这篇博客详细介绍了如何使用深度优先搜索(DFS)解决HDU 4337 'King Arthur's Knights'问题。作者分享了具体的解题思路,并附上了在hdoj平台上的人人正解代码,帮助读者理解优化和struct在解题过程中的应用。
摘要由CSDN通过智能技术生成