1 条题解
-
0
思路
多组EOF输入;在蛋碎与未碎两分支取最坏值,再在落点间取最小,覆盖0至n硬度。
参考程序(C++11)
#include <bits/stdc++.h> using namespace std; int main(){int d[101][11]={};for(int n=1;n<=100;n++)for(int m=1;m<=10;m++){d[n][m]=n;if(m>1)for(int k=1;k<=n;k++)d[n][m]=min(d[n][m],1+max(d[k-1][m-1],d[n-k][m]));}int n,m;while(cin>>n>>m)cout<<d[n][m]<<'\n';}
- 1