比赛 |
2024暑假C班集训D |
评测结果 |
AAAAAAAAAA |
题目名称 |
鹰蛋 |
最终得分 |
100 |
用户昵称 |
健康铀 |
运行时间 |
2.696 s |
代码语言 |
C++ |
内存使用 |
11.22 MiB |
提交时间 |
2024-07-13 10:14:54 |
显示代码纯文本
- #include<bits/stdc++.h>
- using namespace std;
- int n,m,f[1010][1010],vis[1010][1010];
- int dfs(int x,int y){
- if(vis[x][y]==1)
- return f[x][y];
- f[x][y]=10000000;
- int ans=0;
- for(int i=1;i<=x;i++){
- ans=max(dfs(i-1,y-1),dfs(x-i,y));
- f[x][y]=min(ans+1,f[x][y]);
- }
- vis[x][y]=1;
- return f[x][y];
- }
- int main(){
- freopen("eagleegg.in","r",stdin);
- freopen("eagleegg.out","w",stdout);
- ios::sync_with_stdio(false);
- cin.tie(0);cout.tie(0);
- for(int i=1;i<=1010;i++){
- f[0][i]=0;
- vis[0][i]=1;
- }
- for(int i=1;i<=1010;i++){
- f[i][1]=i;
- vis[i][1]=1;
- }
- while(cin>>m>>n){
- if(n==0&&m==0)
- break;
- cout<<dfs(n,m)<<endl;
- }
- return 0;
- }