思路:剛開始以為直接dfs搜尋到終點就可以了。我是剛開始將陣列全都定義為*然後深搜一條路。搜一步就將那一步改為『.』但是這樣會走出四個粘在一起的格仔,那裡就算四步,實際上那裡不是四步。後來想了下。得判斷什麼格仔可以走什麼格仔不可以走,乙個格仔只有到那裡的那個方向是『.』其餘三個都是*才能走。思路僅供參考不知道華東師範的伺服器怎麼了提交不了題目所以這**還是沒有提交的。
time limit per test: 1.5 seconds
time limit all tests: 10.0 seconds
memory limit: 256 megabytes
袋鼠媽媽找不到她的孩子了。她的孩子被怪獸抓走了。
袋鼠媽媽現在在地圖的左上角,她的孩子在地圖第 x
行第 y
列的位置。怪獸想和袋鼠媽媽玩乙個遊戲:他不想讓袋鼠媽媽過快地找到她的孩子。袋鼠媽媽每秒鐘可以向上下左右四個方向跳一格(如果沒有牆阻攔的話),怪獸就要在一些格仔中造牆,從而完成乙個迷宮,使得袋鼠媽媽能夠找到她的孩子,但最快不能小於 k
秒。請設計這樣乙個迷宮。
第一行兩個整數 n,m
(1≤n,m≤
8),表示地圖的總行數和總列數。
第二行三個整數 x,y
,k(1≤
x≤n,
1≤y≤
m,x+
y>1)
。輸出乙個地圖,應正好 n
行 m列。
用.
表示空地,用*
表示牆。袋鼠媽媽所在的位置和孩子所在的位置用.
表示。
資料保證有解。
input
2 61 3 4
output
.*.***......
2017 華東師範大學網賽
**:
#include#include#includechar map[10][10];
int dir[4][2] = ,,, };
int m,n;
int dfs(int x,int y,int step,int s)
for(int i=0;i<4;i++)
if(sum>1) continue;
map[xx][yy]='.';
if(dfs(xx,yy,step+1,s)) return 1;
map[xx][yy]='*';
}return 0;
}int main()
dfs(x,y,0,k);//反著走。
for(int i=1;i<=n;i++)
printf("\n");}}
}
EOJ 3260 袋鼠媽媽找孩子
time limit per test 1.5 seconds time limit all tests 10.0 seconds memory limit 256 megabytes 袋鼠媽媽找不到她的孩子了。她的孩子被怪獸抓走了。袋鼠媽媽現在在地圖的左上角,她的孩子在地圖第 x 行第 y 列的位...
2017華東師範大學網路賽 C
time limit per test 1.5 seconds time limit all tests 10.0 seconds memory limit 256 megabytes 袋鼠媽媽找不到她的孩子了。她的孩子被怪獸抓走了。袋鼠媽媽現在在地圖的左上角,她的孩子在地圖第 x 行第 y 列的位...
EOJ 3260 袋鼠媽媽找孩子 題解
題意 袋鼠媽媽找不到她的孩子了。她的孩子被怪獸抓走了。袋鼠媽媽現在在地圖的左上角,她的孩子在地圖第 x 行第 y 列的位置。怪獸想和袋鼠媽媽玩乙個遊戲 他不想讓袋鼠媽媽過快地找到她的孩子。袋鼠媽媽每秒鐘可以向上下左右四個方向跳一格 如果沒有牆阻攔的話 怪獸就要在一些格仔中造牆,從而完成乙個迷宮,使得...