hdu1572 水搜索
題意:
? ? ? ? ? ?中文的不解釋;
思路:
 ? ? ? ? ? 其實(shí)就是一個(gè)水的搜索,直接搜索不會(huì)超時(shí),還有別跑最短路了,題目沒(méi)要求跑最短路,別讀錯(cuò)題,剛開(kāi)始自己嘚嗖的跑了一邊最短路 wa了 ,正好最近看了STL的全排列就寫(xiě)下吧,省著忘了,反正沒(méi)有剪枝的深搜也是全排列的枚舉..
 
#include<stdio.h>
 #include<algorithm>
 
 
 #define N 30 + 5
 #define inf 1000000000
 
 
 using namespace std;
 
 
 int main ()
 {
 int map[N][N];
 int num[10];
 int i ,j ,k ,n ,nn ,ans;
 while(scanf("%d" ,&n) && n)
 {
 for(i = 1 ;i <= n ;i ++)
 ? ?for(j = 1 ;j <= n ;j ++)
 ? ?{
 scanf("%d" ,&map[i][j]);
 } 
 scanf("%d" ,&nn);
 for(i = 1 ;i <= nn ;i ++)
 {
 scanf("%d" ,&num[i]);
 num[i] ++;
 }
 int c = 1;
 for(i = 1 ;i <= nn ;i ++)
 c *= i;
 ans = inf;
 int temp = map[1][num[1]];
 for(i = 2 ;i <= nn ;i ++)
 temp += map[num[i - 1]][num[i]];
 if(ans > temp)
 ans = temp;
 
 while(--c)
 {
 next_permutation(num + 1 ,num + nn + 1);
 temp = map[1][num[1]];
 for(i = 2 ;i <= nn ;i ++)
 temp += map[num[i - 1]][num[i]];
 if(ans > temp)
 ans = temp;
 }
 printf("%d\n" ,ans);
 }
 return 0;
 }
 
 ?
 
 
 
 
 
 
 
 
總結(jié)
以上是生活随笔為你收集整理的hdu1572 水搜索的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: hdu2433 spfa+mark[x]
 - 下一篇: hdu1261 JAVA