题意:其中n表示楼的高度,m表示你现在拥有的鸡蛋个数。

解法:f[i][j]表示 i 层楼有 j 个鸡蛋时,至少要扔多少次。3重循环,k为测试的楼层,分这时扔下去的鸡蛋碎和不碎的情况。要注意初始化。

 1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6
7 const int N=100,M=10;
8 int f[N+10][M+10];
9
10 int mmin(int x,int y) {return x<y?x:y;}
11 int mmax(int x,int y) {return x>y?x:y;}
12
13 int main()
14 {
15 int n=N,m=M;
16 for (int j=0;j<=m;j++) f[0][j]=0;
17 for (int i=1;i<=n;i++) f[i][1]=i;//一定要这样初始化,放进下面循环会出错
18 for (int i=1;i<=n;i++)
19 for (int j=2;j<=m;j++)
20 {
21 f[i][j]=i;
22 for (int k=1;k<=i;k++)
23 f[i][j]=mmin(f[i][j],1+mmax(f[i-k][j-1],f[k-1][j]));
24 }
25 while (~scanf("%d%d",&n,&m))
26 printf("%d\n",f[n][m]);
27 return 0;
28 }

最新文章

  1. Linux下安装Oracle11g服务器
  2. RDD、DataFrame和DataSet的区别
  3. Java学习日记之 Java-其他类型
  4. mod_PHP&amp;fastcgi
  5. FileWriter和FileReader简单使用
  6. C++primer 阅读点滴记录(三)
  7. valueOf跟toString区别
  8. SpringMVC数据绑定全面示例(复杂对象,数组等)
  9. CPU占用率高分析方法步骤[转载]
  10. 【转】Usage of sendBroadcast()
  11. [置顶] WebService调用工具(AXIS2)
  12. js 中创建对象
  13. 在两个ASP.NET页面之间传递变量【转】
  14. Python day 6(3) Python 函数式编程1
  15. sourceTree+gerrit管理代码
  16. Hibernate对应关系(了解)
  17. 斯坦福大学公开课机器学习:machine learning system design | data for machine learning(数据量很大时,学习算法表现比较好的原理)
  18. mysql线上数据库单表超过200G的处理
  19. Spring boot+Spring Security 4配置整合实例 【转】
  20. 在ASP.NET MVC中实现登录后回到原先的界面

热门文章

  1. 【C++】《C++ Primer 》第八章
  2. RabbitMQ常用的几种消息模型
  3. servlet+jsp完成简单登录
  4. SpringBoot同时接收单个对象和List<object>参数
  5. Openstack 启动一个实例(九)
  6. mysql 需要内核级线程的支持,而不只是用户级线程,这样才能够有效的使用多个cpu
  7. 【Mysql】[Err] 1153 - Got a packet bigger than 'max_allowed_packet' bytes
  8. 与图论的邂逅07:K短路
  9. Ubuntu20.04安装Typora
  10. ftp协议服务器与tinyhttp服务demo