1 条题解

  • 0
    @ 2025-10-8 17:04:24

    B15 BFS 抓住那头牛

    zjy:

    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    int ans[N],d[3]={1,-1,0};
    int main(){
        int x,y;scanf("%d%d",&x,&y);
        
        if(x==y){
            printf("0\n");
            return 0;
        }
        
        deque<int>q;q.push_back(x);
        memset(ans,0,sizeof(ans));
        while(!q.empty()){
            int x=q.front();
            q.pop_front();d[2]=x;
            for(int i=0;i<3;i++){
                int xx=x+d[i];
                if(xx>=0&&xx<= 1e5 && !ans[xx] ){
                    q.push_back(xx);
                    ans[xx]=ans[x]+1;
                    if(xx==y)break;
                }
            }
        }
        printf("%d\n",ans[y]);
        return 0;
    }
    
    • 1

    信息

    ID
    3301
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    213
    已通过
    42
    上传者