比赛 2022级DP专题练习赛5 评测结果 AAAAAAAAAA
题目名称 鹰蛋 最终得分 100
用户昵称 nick 运行时间 2.712 s
代码语言 C++ 内存使用 5.78 MiB
提交时间 2023-02-22 19:59:26
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int dp[1010][1010];
int main()
{
	freopen("eagleegg.in","r",stdin);
	freopen("eagleegg.out","w",stdout);
	int n,m;
	while(cin>>n>>m)
	{
		if(n==0&&m==0)return 0;
		if(n>ceil(log((m+1)*1.0)/log(2.0)))
			cout<<ceil(log((m+1)*1.0)/log(2.0))<<endl;
		else 
		{
			memset(dp,0,sizeof(dp));
			for(int i=1;i<=m;i++)dp[1][i]=i;
			for(int i=2;i<=n;i++)
			{
				for(int j=1;j<=m;j++)
				{
					dp[i][j]=dp[i][j-1]+1;
					for(int k=1;k<j;k++)
					{
						dp[i][j]=min(dp[i][j],max(dp[i][k-1],dp[i-1][j-k])+1);
					}
				}
			}
			cout<<dp[n][m]<<endl;
		}
	}
	return 0;
 }