HDU1572-下沙小面的(2)-最短路(深搜)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1572

好吧,没想到这题用深搜可以搞定。还以为又是一道套dijkstra算法的模板题。

#include<iostream>                                                                                                               #include<string>
#include<cstdio>
#include<cstring>
#include<map>
#include<queue>
#include<cmath>
#include<stack>
#include<set>
#include<vector>
#include<algorithm>
#define LL long long
#define inf 1<<29
#define s(a) scanf("%d",&a)
#define CL(a,b) memset(a,b,sizeof(a))
using namespace std;
const int N=35;
int n,m,a,b[N],c;
string s1,s2;
int Map[N][N];
int dist,num,ans;
bool vis[N];
/*  深搜,搜索每一种可能的情况,标记,深一层,回溯。*/
void dfs(int x,int step,int dist)
{
    if(step==num)
        if(ans>dist) ans=dist;
    for(int i=1;i<n;i++)
        if(b[i]){
            b[i]=0;
            dfs(i,step+1,dist+Map[x][i]);
            b[i]=1;
        }
}
int main()
{
    while(~scanf("%d",&n)){
        if(n<=0) break;
        CL(b,0);
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                s(Map[i][j]);
        s(m);num=0;
        for(int i=1;i<=m;i++){
            s(a);
            if(!b[a]){
                b[a]=1;
                num++;
            }
        }
        ans=inf;
        dfs(0,0,0);
        printf("%d\n",ans);
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-13 06:42:03

HDU1572-下沙小面的(2)-最短路(深搜)的相关文章

爆搜解hdu1572下沙小面的(2)

#include<iostream> #include<map> #include<string> #include<cstring> #include<cstdio> #include<cstdlib> #include<cmath> #include<queue> #include<vector> #include<algorithm> using namespace std; in

下沙小面的(2)

Description 前文再续,书接上一题.话说当上小面的司机的Lele在施行他的那一套拉客法则以后,由于走的路线太长,油费又贵,不久便亏本了.(真可怜-)于是他又想了一个拉客的办法. 对于每一次拉客活动,他一次性把乘客都拉上车(当然也不会超过7个,因为位置只有7个).然后,Lele计算出一条路线(出于某些目的,Lele只把车上乘客的目的地作为这条路线上的站点),把所有乘客都送到目的地(在这路线上不拉上其他乘客),并且使总路线长度最短. 不过Lele每次都要花很多时间来想路线,你能写个程序帮他

防爆搜索解决方案hdu1572下沙面(2)

#include<iostream> #include<map> #include<string> #include<cstring> #include<cstdio> #include<cstdlib> #include<cmath> #include<queue> #include<vector> #include<algorithm> using namespace std; in

hdu 1267 下沙的沙子有几粒? (递推)

下沙的沙子有几粒? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2584    Accepted Submission(s): 1346 Problem Description 2005年11月份,我们学校参加了ACM/ICPC 亚洲赛区成都站的比赛,在这里,我们获得了历史性的突破,尽管只是一枚铜牌,但获奖那一刻的激动,也许将永远铭刻

hdu 1292 &quot;下沙野骆驼&quot;ACM夏令营

"下沙野骆驼"ACM夏令营 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 786    Accepted Submission(s): 377 Problem Description 大家都知道,杭电计算机学院为了吸引更多的学生参与到程序设计竞赛中去,从2005年秋天,开始举行月赛,并一直坚持到了现在.事实表明,这项措施的效

下沙的沙子有几粒?(hdu1267)递推

下沙的沙子有几粒? Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 1   Accepted Submission(s) : 1 Problem Description 2005年11月份,我们学校参加了ACM/ICPC 亚洲赛区成都站的比赛,在这里,我们获得了历史性的突破,尽管只是一枚铜牌,但获奖那一刻的激动,也许将永远铭刻在我们几个人的

小車托運找誰好?專業長沙小車托運公司國聯物流就不錯-經營快訊-國聯物流-大件運輸專傢

[長沙物流公司編輯部 訊]長沙客戶何先生最近一直在為找一傢好的小車托運公司而發愁?不知道該找哪傢好?最後在朋友的介紹下,來到了我們專業長沙小車托運公司國聯物流,順利的解除了他的煩惱,自己的小車在國聯物流的幫助下安全的送達至崑明.       長沙何先生要托運的是一輛BYD S6越埜車,是要從長沙托運到崑明.何先生為什麼發愁呢?是因為在來到我們國聯之前,他就通過網絡途徑找到了很多傢物流公司,了解到要不就是不能提供小車托運服務,要不就是價格令他不滿意,再就是在貨物保障這一塊讓他不是很放心,直到他從朋

(hdu step 2.3.7)下沙的沙子有几粒?(简单DP:求有m个H,n和D,且任意索引上H的个数都要比D的个数多的方案数)

在写题解之前给自己打一下广告哈~..抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下: http://edu.csdn.net/course/detail/209 题目: 下沙的沙子有几粒? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 894 Accepted Submission(s): 505   Problem Descri

hdu 1292 &quot;下沙野骆驼&quot;ACM夏令营 (递推)

"下沙野骆驼"ACM夏令营 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 833    Accepted Submission(s): 403 Problem Description 大家都知道,杭电计算机学院为了吸引更多的学生参与到程序设计竞赛中去,从2005年秋天,开始举行月赛,并一直坚持到了现在.事实表明,这项措施的效