您当前处于兼容模式。某些功能在此模式下不可用。我们强烈建议在现代浏览器上切换为标准模式以获得更好的体验。 标准模式 隐藏

#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