一道寬搜題,要應(yīng)用到隊列,求大神解開,有詳解最好,用C++語言的。小明的游戲提交文件:game.pas/game.cpp輸入文件:game.in輸出文件:game.out題目描述:小明最近喜歡玩一個游戲。給定一個n * m的棋盤,上面有兩種格子#和@。游戲的規(guī)則很簡單:給定一個起始位置和一個目標(biāo)位置,小明每一步能向上,下,左,右四個方向移動一格。如果移動到同一類型的格子,則費(fèi)用是0,否則費(fèi)用是1。請編程計算從起始位置移動到目標(biāo)位置的最小花費(fèi)。輸入格式:輸入文件有多組數(shù)據(jù)。輸入第一行包含兩個整數(shù)n,m,分別表示棋盤的行數(shù)和列數(shù)。輸入接下來的n行,每一行有m個格子(使用#或者@表示)。輸入接下來一行有四個整數(shù)x1, y1, x2, y2,分別為起始位置和目標(biāo)位置。當(dāng)輸入n,m均為0時,表示輸入結(jié)束。輸出格式:對于每組數(shù)據(jù),輸出從起始位置到目標(biāo)位置的最小花費(fèi)。每一組數(shù)據(jù)獨(dú)占一行。輸入樣例:輸出樣例:2 2@##@0 0 1 12 2@@@#0 1 1 00 020數(shù)據(jù)規(guī)模:對于20%的數(shù)據(jù)滿足:1 < = n, m <= 10。對于40%的數(shù)據(jù)滿足:1 < = n, m <= 300。對于100%的數(shù)據(jù)滿足:1 < = n, m <= 500。這道題似乎可以用隊列和迭代SPFA來做。
- 2 回答
- 0 關(guān)注
- 939 瀏覽
添加回答
舉報
0/150
提交
取消