zoukankan      html  css  js  c++  java
  • 哈密顿绕行世界问题 HDU 2181

    题意让你先输20行数表示20个城市及所相邻的三个城市(行数就是该城市),然后给你一个数,从这个(给的数就表示城市)城市出发走遍所有城市一次回到出发的城市;看着复杂,仔细想想是个不算太难的深搜题,主要你得能把20行的数看成类似的地图,然后需要注意定义一个整形数组存储能到达的城市最后按顺序输出就可以了。

    代码:

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<queue>
    #include<stack>
    #include<algorithm>
    using namespace std;
    int mp[25][3];
    int vis[25];
    int ans[25];
    int cas=1;
    //int dd[8][2]={0,1,0,-1,1,0,-1,0,1,1,1,-1,-1,1,-1,-1};
    void dfs(int a,int len,int c)//核心代码,自己再理解理解这里就不过多解释了
    {   int i,j,k;
    vis[a]=1;
    ans[len]=a;
     for(i=0;i<3;i++)
     {  int t=mp[a][i];
         if(t==c&&len==19)
         {
             printf("%d:  ",cas++);
             for(j=0;j<20;j++)
                 printf("%d ",ans[j]);
             printf("%d
    ",c);
         }
    
         if(!vis[t])
            dfs(t,len+1,c);
     }
     vis[a]=0;
    }
    
    
    
    int main()
    {   int i,j,m;
        for(i=1;i<=20;i++)
            scanf("%d%d%d",&mp[i][0],&mp[i][1],&mp[i][2]);
    
        while(~scanf("%d",&m),m!=0)
        {   memset(vis,0,sizeof(vis));
            dfs(m,0,m);
        }
    
    }
  • 相关阅读:
    java表格的使用 单元格绘制二
    Java表格的简单使用一
    Servlet接口五种方法介绍
    C# 图片识别
    asp.net 使用rabbitmq事例
    Windows下安装使用python的Flask框架
    python中闭包的理解
    sql中遍历字符串
    asp.net mvc easyui tree
    c# Castle Windsor简单例子
  • 原文地址:https://www.cnblogs.com/nr1999/p/8530599.html
Copyright © 2011-2022 走看看