比赛 2024暑假C班集训D 评测结果 RRRRRRRRRR
题目名称 鹰蛋 最终得分 0
用户昵称 李奇文 运行时间 2.148 s
代码语言 C++ 内存使用 10.64 MiB
提交时间 2024-07-13 11:34:09
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int f[1005][1005],n,m,mp[1001][1001];
int dfs(int x,int y){
	if(mp[x][y]==1) return f[x][y];
	f[x][y]=0x3f3f3f3f;
	for(int i=1;i<=x;i++) f[x][y]=min(f[x][y],max(dfs(i-1,y-1),dfs(x-i,y))+1);
	mp[x][y]=1;
	return f[x][y];
}
inline int read(){
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-') f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=x*10+(ch-'0');
		ch=getchar();
	}
	return x*f;
}
inline void write(int x){
	if(x<0){
		putchar('-');
		x=-x;
	}
	if(x>9) write(x/10);
	putchar(x%10+'0');
}
int main(){
	for(int i=1;i<=1000;i++){
		f[0][i]=0,f[i][1]=i;
		mp[0][i]=1,mp[i][1]=1;
	}
	while(m=read(),n=read()){
		if(m==0&&n==0){
			break;
		}
		write(dfs(n,m));
	}
	return 0;
}