📄 3278.cpp
字号:
#include <iostream.h>
int main()
{
bool a[200010];
int his[2][50010],t,i,j,n,k;
while (cin>>n>>k)
{
if (k<n)
cout<<n-k<<"\n";
else
{
for (i=0;i<=k*2;i++)
a[i]=1;
t=0;his[0][1]=n;a[n]=0;his[0][0]=1;j=1;
while (a[k])
{
his[(t+1)%2][0]=0;
for (i=1;i<=his[t][0];i++)
{
if (his[t][i]>0)
if (a[his[t][i]-1])
{
a[his[t][i]-1]=0;
his[(t+1)%2][0]++;
his[(t+1)%2][his[(t+1)%2][0]]=his[t][i]-1;
}
if (his[t][i]<k)
{
if (a[his[t][i]+1])
{
a[his[t][i]+1]=0;
his[(t+1)%2][0]++;
his[(t+1)%2][his[(t+1)%2][0]]=his[t][i]+1;
}
if (a[his[t][i]*2])
{
a[his[t][i]*2]=0;
his[(t+1)%2][0]++;
his[(t+1)%2][his[(t+1)%2][0]]=his[t][i]*2;
}
}
}
t=(t+1)%2;j++;
}
cout<<j-1<<"\n";
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -