定義乙個二維陣列:
int maze[5][5] = ;
它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。
乙個5 × 5的二維陣列,表示乙個迷宮。資料保證有唯一解。
左上角到右下角的最短路徑,格式如樣例所示。
0 1 0 0 0
0 1 0 1 0
0 0 0 0 0
0 1 1 1 0
0 0 0 1 0
(0, 0)
(1, 0)
(2, 0)
(2, 1)
(2, 2)
(2, 3)
(2, 4)
(3, 4)
(4, 4)
//
// main.cpp
// 迷宮問題
//// created by hiss on 2020/10/24.
//#include
#include
using namespace std;
int i, j, ff, num, front, a[5]
[5], b[5]
[5], c[5]
[5];
stackx;
stacky;
void
dfs(int i,int j)
dfs(i, j +1)
;dfs
(i +
1, j)
;dfs
(i -
1, j)
;dfs
(i, j -1)
;}int main()
ff =1;
//每個點都深搜一次
for(i =
0; i <
5; i ++)}
//從最後乙個節點倒著尋找
front = c[4]
[4];
int fu = front;
for(num = fu -
1; num >
0; num --)}
}}//輸出路線,按出棧順序
while
(!x.
empty()
&&!y.
empty()
) cout <<
"("<<
4<<
", "
<<
4<<
")"<< endl;
return0;
}
ACM OJ 《非常可樂》C
大家一定覺的運動以後喝可樂是一件很愜意的事情,但是seeyou卻不這麼認為。因為每次當seeyou買了可樂以後,阿牛就要求和seeyou一起分享這一瓶可樂,而且一定要喝的和seeyou一樣多。但seeyou的手中只有兩個杯子,它們的容量分別是n 毫公升和m 毫公升 可樂的體積為s s 101 毫公升...
ACM OJ 《馬的遍歷》C
有乙個n m的棋盤 1一行四個資料,棋盤的大小和馬的座標 乙個n m的矩陣,同一行元素之間用空格分離。代表馬到達某個點最少要走幾步。不能到達則輸出 1。3 3 1 1 0 3 2 3 1 1 2 1 4 main.cpp 馬的遍歷 created by hiss on 2020 10 31.incl...
ACM OJ 《奇怪的電梯》C
有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第i層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3,3,1,2,5代表了ki k1 3,k2 3,...