acm编程问题;题意:S到T的最短路径,但是行走过程中改变方向的话步数要加1,输出最小步数,不能到达输出-1;测试数据:
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/30 17:25:55
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
题意: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;测试数据:
编程输出1到100间能被3整除但不能被5整除的数
1、编程让计算机自动产生n个随机s三位整数,输出结果,求出最大数和最小数,输出结果.(以下均用java语言
编程输出1-1000之间所有个位是3但不能被3整除的数
C语言编程实现输入10个整数存放到数组a的a[1]到a[10]中,并输出其中的最大数和最小数、平均值.
编程题;输出1~500中所有能被13整除的数,要求每行输出5个数怎么编?
VB编程:计算从1到1000中的能被1整除的数,并输出
急救,c语言编程题. 编写程序,将1—100间不能被3整除的数输出.
用java编程输出1到100之间能被3整除,但不能被5整除的整数
(用Dijkstra算法)求出图中顶点1到其余各顶点的最短路径
求出1到100的自然数系列中能被3整除的所有数之和,并在文本框中输出结果,请编程 (要求用VB程序写)
c语言编程输出100到1000间能被3整除但不能被5整除的数