晨风牧笛 2019-01-16 16:50 采纳率: 100%
浏览 994
已结题

bfs 简单模板题求解答

图片说明

#include<stdio.h>
#include <math.h> 
#include <queue>
#include <string.h>
using namespace std;
int to[2]={1,-1};
int step,n,ex,t1,t2;
int k[202];
int map[202];
struct node
{
    int x,step;
};

int check(int x){
    if(x<0||x>n)
        return 1;
    return 0;
}
int bfs(){
    queue<node> Q;
    node p,next,q;
    p.x=t1;
    p.step=0;
    ex=t2;
    Q.push(p);
    while (!Q.empty()){
        q=Q.front();
        Q.pop();
        if(q.x==ex)
            return q.step;
        for (int j=1;j<=n;j++)
            for(int i=0;i<=1;i++){
                next.x=q.x+to[i]*k[j];
                if(next.x==ex)
                    return q.step+1;
                if(check(next.x))
                    continue;
                next.step=q.step+1;
                Q.push(next);
                }
            } 
        return 0; 
}  
int main(){
    while(scanf("%d",&n)!=EOF&&n){
        scanf("%d%d",&t1,&t2);
        for (int i=1;i<=n;i++)
            scanf("%d",&k[i]);

        printf("%d\n",bfs()); 
    }
    return 0;
}



  • 写回答

2条回答 默认 最新

  • WildStark 2019-01-16 23:45
    关注

    题没看懂,4-2为什么等于-2

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?