| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1108 人关注过本帖
标题:bfs的问题,答案ok,提交runtime error
取消只看楼主 加入收藏
巴克
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:3 
bfs的问题,答案ok,提交runtime error
2054: 抓住奶牛!
Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 55  Solved: 8
[Submit][Status][Web Board]
Description

不 得了,xiaoC的农场里跑出来了一只奶牛,这可是让xiaoC很是揪心啊,于是xiaoC立刻放下了手头的工作,想疯狂的奶牛奋力追去,但说来也 怪,xiaoC的走法还真有一点特殊,他每一步有两种走法: 步行:xiaoC可以从任何X位置,一步走到X-1或X+1位置 跳跃:xiaoC可以从任意X位置,一步跳跃到2*X的位置 现在我们假设奶牛并没有意识到xiaoC的追来,还在原地傻傻地站着,请你来帮xiaoC计算一下,他需要多少步,才能把奶牛逮住!!!
Input

每个测试实例为一行,包含两个数据,N和K,N表示xiaoC现在的位置,K表示奶牛的位置,0 ≤ N,K ≤ 100,000
Output

输出xiaoC能逮住奶牛的最少步数,每个测试实例输出一行
Sample Input
5 17
Sample Output
4
HINT

在这个实例中最快的路径为5-10-9-18-17,共四步

BFS
Source



下面是代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max_size 200000

int ju[200000];

typedef struct{
    int data[max_size];
    int front;
    int rear;
}sqqueue;

sqqueue s;

void clear(sqqueue *s)
{
    s->front=s->rear=0;
}

void enqueue(sqqueue *s,int n)
{
    s->data[s->rear++]=n;
}

int dequeue(sqqueue *s)
{
    return s->data[s->front++];
}

int main()
{
    int a,b,k;
    while(scanf("%d%d",&a,&b)!=EOF){
        if(a>=b){
            printf("%d\n",a-b);
            continue;
        }
        clear(&s);
        memset(ju,0,sizeof(ju));
        ju[a]=1;
        enqueue(&s,a);
        while(s.front!=s.rear){
            k=dequeue(&s);
            if(k>=b*2 || k>=50000) continue;
            if(k-1==b ||k+1==b ||k*2==b) {
                printf("%d\n",ju[k]);
                break;
            }
            if(ju[k-1]==0){
                enqueue(&s,k-1);
                ju[k-1]=ju[k]+1;
            }
            if(ju[k+1]==0){
                enqueue(&s,k+1);
                ju[k+1]=ju[k]+1;
            }
            if(ju[2*k]==0){
                enqueue(&s,2*k);
                ju[2*k]=ju[k]+1;
            }
        }
    }
    return 0;
}
一开始以为数组小了。。开到100W还不行。。。
别人用数组模拟队列就可以ac。。。
求助!!!

搜索更多相关主题的帖子: 奶牛 Memory 2054 傻傻 
2012-03-29 22:43
巴克
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
收藏
得分:0 
回复 3楼 beyondyf
不是爱好不同而是没有学习啊,现在数据结构已经让我们头晕了..算法更没有机会学习了.
2012-03-30 08:16
巴克
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
收藏
得分:0 
回复 2楼 double聪
2012-03-30 08:16
巴克
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
收藏
得分:0 
回复 28楼 double聪
多谢,也谢谢楼上诸位的建议和方法.
2012-03-30 21:31
快速回复:bfs的问题,答案ok,提交runtime error
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016564 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved