⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3278.cpp

📁 这些是我到目前在PKU上做出的题目
💻 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 + -