submit page
summary
time limit: 1 sec
memory limit: 128 mb
submitted: 486
solved: 135
給乙個n行n列的網格,每個格仔裡有乙個1到9的數字。你需要從左上角走到右下角,其中每一步只能往上、下、左、右四個方向之一走到相鄰格仔,不能斜著走,也不能走出網格,但可以重複經過乙個格仔。為了美觀,你經過的路徑還必須關於「左下-右上」這條對角線對稱。下圖是乙個6x6網格上的對稱路徑。
你的任務是統計所有合法路徑中,數字之和最小的路徑有多少條。
輸入最多包含25組測試資料。每組資料第一行為乙個整數n(2<=n<=200)。以下n行每行包含n個1到9的數字,表示輸入網格。輸入結束標誌為n=0。
對於每組資料,輸出合法路徑中,數字之和最小的路徑條數除以1,000,000,009的餘數。
21 11 1
31 1 1
1 1 1
2 1 1
0
2
//可以重複走同乙個格仔,最短路+記憶化搜尋
//當wa時有時隨便造個資料也是好的
#include#include#include#includeusing namespace std;
const int m=1000000009;
int n,a[201][201],dis[201][201],d[201][201],vis[201][201],mi;
int dir[4][2]= ;
void spfa()}}
}}int dfs(int x1,int y1)
return d[x1][y1];
}int main()
spfa();//求出單源點最短路
mi=1e9;
for(int i=1; i<=n; ++i)
mi=min(mi,dis[i][n+1-i]);
memset(d,-1,sizeof(d));
for(int i=1; i<=n; ++i)
if(dis[i][n+1-i]==mi) d[i][n+1-i]=1;
else d[i][n+1-i]=0;
printf("%d\n",dfs(1,1));
}return 0;
}
最優對稱路徑
湖南省第七屆大學生計算機程式設計競賽 the seventh hunan collegiate programming contest 題目g最優對稱路徑 給乙個n行n列的網格,每個格仔裡有乙個1到9的數字。你需要從左上角走到右下角,其中每一步只能往上 下 左 右四個方向之一走到相鄰格仔,不能斜著走...
最優對稱路徑
給乙個n行n列的網格,每個格仔裡有乙個1到9的數字。你需要從左上角走到右下角,其中每一步只能往上 下 左 右四個方向之一走到相鄰格仔,不能斜著走,也不能走出網格,但可以重複經過乙個格仔。為了美觀,你經過的路徑還必須關於 左下 右上 這條對角線對稱。你的任務是統計所有合法路徑中,數字之和最小的路徑有多...
Codeup最短路徑 最短路徑
n個城市,標號從0到n 1,m條道路,第k條道路 k從0開始 的長度為2 k,求編號為0的城市到其他城市的最短距離。第一行兩個正整數n 2 n 100 m m 500 表示有n個城市,m條道路,接下來m行兩個整數,表示相連的兩個城市的編號。n 1行,表示0號城市到其他城市的最短路,如果無法到達,輸出...