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