DFS【古希腊之争(一)】
題目描述
伯羅奔尼撒戰爭是以雅典為首的提洛同盟與以斯巴達為首的伯羅奔尼撒聯盟之間的一場戰爭。這場戰爭從前431年一直持續到前404年,使得絕大多數周邊城邦必須加入其中一方的陣營。戰爭第一階段(BC431-BC421),雅典在伯里克利的領導之下,憑借強大的海軍,采取陸地上防御在海上進攻的策略。而斯巴達在阿基達摩斯二世的領導之下,率領它令人畏懼的戰士進行陸地強攻。兩個強邦側重點不同的軍事力量導致了戰爭第一階段的僵持局面。
話說,有一天阿基達摩斯二世決定率兵進攻雅典的一個居民點阿提卡,當他們滿懷斗志的奔向阿提卡的時候,殊不知他們正走向伯利克里所設下的迷宮陷阱之中。當他們發現時,已為時已晚。
As you know, the Magpie Festival is comging!
為了早日返回斯巴達,阿基達摩斯二世立即讓所有的斯巴達勇士去需找迷宮的出口E。現在他們被困在迷宮的S點,迷宮中“.”表示空地,可以通過,“#”表示墻,不能通過,每次只能向上下左右四個方向移動,每移動一個單位距離需要耗費一個單位時間,所有斯巴達勇士的移動速度相同。現在請你計算一下他們最短需要多少時間才能找到迷宮的出口。
PS:假設迷宮中每個點可以容納的人數沒有限制,每個斯巴達勇士的行動方向之間沒有影響。
輸入格式
第一行有一個整數t(0=<t<=100),代表有t組測試數據。
每組測試數據第一行輸入三個數n,m, c,(2=<m<=n<=500,100=<c<=10000)分別代表迷宮的長度和寬度,以及被困迷宮的斯巴達勇士數(不包括阿基達摩斯二世)。下面m行每行有n個字符用來表示迷宮地圖。詳細輸入格式見樣例。
輸出
輸出一個整數,表示找到迷宮出口的最短時間,每組輸出占一行。如不能找到出口輸入-1
樣例輸入
1
5?5?100
#####
#S..#
#...#
#...E
#####
樣例輸出
5
總結
以上是生活随笔為你收集整理的DFS【古希腊之争(一)】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在Windows资源管理器中自定义文
- 下一篇: 安装RHEL7.5超详细教程