一道宽搜题,要应用到队列,求大神解开,有详解最好,用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 回答
- 2 回答
- 0 关注
- 868 浏览
添加回答
举报
0/150
提交
取消