acm编程问题;题意:S到T的最短路径,但是行走过程中改变方向的话步数要加1,输出最小步数,不能到达输出-1;测试数据:Sample Input25 5######...##.#.##S#T######4 5#.#.##.#.##S#T######Sample Output8-1以下是我
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 01:00:39
![acm编程问题;题意:S到T的最短路径,但是行走过程中改变方向的话步数要加1,输出最小步数,不能到达输出-1;测试数据:Sample Input25 5######...##.#.##S#T######4 5#.#.##.#.##S#T######Sample Output8-1以下是我](/uploads/image/z/5429709-45-9.jpg?t=acm%E7%BC%96%E7%A8%8B%E9%97%AE%E9%A2%98%EF%BC%9B%E9%A2%98%E6%84%8F%EF%BC%9AS%E5%88%B0T%E7%9A%84%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84%2C%E4%BD%86%E6%98%AF%E8%A1%8C%E8%B5%B0%E8%BF%87%E7%A8%8B%E4%B8%AD%E6%94%B9%E5%8F%98%E6%96%B9%E5%90%91%E7%9A%84%E8%AF%9D%E6%AD%A5%E6%95%B0%E8%A6%81%E5%8A%A01%2C%E8%BE%93%E5%87%BA%E6%9C%80%E5%B0%8F%E6%AD%A5%E6%95%B0%2C%E4%B8%8D%E8%83%BD%E5%88%B0%E8%BE%BE%E8%BE%93%E5%87%BA-1%EF%BC%9B%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE%EF%BC%9ASample+Input25+5%23%23%23%23%23%23...%23%23.%23.%23%23S%23T%23%23%23%23%23%234+5%23.%23.%23%23.%23.%23%23S%23T%23%23%23%23%23%23Sample+Output8-1%E4%BB%A5%E4%B8%8B%E6%98%AF%E6%88%91)
acm编程问题;题意:S到T的最短路径,但是行走过程中改变方向的话步数要加1,输出最小步数,不能到达输出-1;测试数据:Sample Input25 5######...##.#.##S#T######4 5#.#.##.#.##S#T######Sample Output8-1以下是我
acm编程问题;
题意:S到T的最短路径,但是行走过程中改变方向的话步数要加1,输出最小步数,不能到达输出-1;
测试数据:
Sample Input
2
5 5
#####
#...#
#.#.#
#S#T#
#####
4 5
#.#.#
#.#.#
#S#T#
#####
Sample Output
8
-1
以下是我的代码:
#include
#include
#include
#include
#include
using namespace std;
struct node{
int x,y;
int step;
char fx;
};
char map[110][110];
int dir[4][2]={{0,1},{1,0},{-1,0},{0,-1}};
int num[120];
int n,m;
int sx,sy,dx,dy;
bool flag;
node f;
int k1;
int bfs()
{
int i,j,k;
int tx,ty;
char temp;
int sstep;
queueq;
node front,rear;
while(!q.empty())q.pop();
q.push(f);
while(!q.empty())
{
front=q.front();
q.pop();
if(front.x==dx&&front.y==dy){
num[k1++]=front.step;
flag=1;
}
map[front.x][front.y]='#';
for(i=0;i
acm编程问题;题意:S到T的最短路径,但是行走过程中改变方向的话步数要加1,输出最小步数,不能到达输出-1;测试数据:Sample Input25 5######...##.#.##S#T######4 5#.#.##.#.##S#T######Sample Output8-1以下是我
测试数据可以通过……有什么不对吗