#include<bits/stdc++.h> using namespace std; int a[114514]; int main(){ int x,y; cin>>x>>y; a[x]=1; queue<int> q; q.push(x); while(q.size()>0){ int k=q.front();q.pop(); if(k==y){ cout<<a[k]-1; return 0; } if(a[k+1]==0){ q.push(k+1); a[k+1]=a[k]+1; } if(a[k-1]==0){ q.push(k-1); a[k-1]=a[k]+1; } if(a[k*2]==0){ q.push(k*2); a[k*2]=a[k]+1; } } return 0; } ```````````language language

`
language
`

1 条评论

  • @ 2025-11-8 18:11:44

    #include<bits/stdc++.h> using namespace std; int a[114514]; int main(){ int x,y; cin>>x>>y; a[x]=1; queue q; q.push(x); while(q.size()>0){ int k=q.front();q.pop(); if(k==y){ cout<<a[k]-1; return 0; } if(a[k+1]==0){ q.push(k+1); a[k+1]=a[k]+1; } if(a[k-1]==0){ q.push(k-1); a[k-1]=a[k]+1; } if(a[k2]==0){ q.push(k2); a[k*2]=a[k]+1; } } return 0; }

    • 1