zoukankan      html  css  js  c++  java
  • Ural的鹰蛋实验

    题目描述

    在ural大学的一个教授的别墅上有一鹰巢。教授对这个鹰巢很感兴趣。经过仔细观察,他发现鹰巢中有若干枚蛋。于是他想利用这些蛋做一个试验。测试一下蛋的坚固程度。
    这些蛋应该是具有相同的坚硬度。存在一个非负整数E,如果从楼的第E层往下扔蛋,但不会破,但如果从第E+1层(包括高于E+1层)扔,蛋就会破。你要做一组试验,来找出E。最简单的方法是一层层试。但是你有多个蛋是,不必用笨方法,可以用更少的次数找出E。注意这里的次数都是指对你的方法的最坏情况且蛋破了就不能再用,还有E可以取0。
    如果实验到了最高层蛋还不破,则认为E取最高层的层数。

    输入格式

    一行,蛋的个数n和楼的层数n,k<=1000。(中间一个空格)

    输出格式

    最少实验次数。

    非常神奇的动态规划题,趣味无穷。

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int n,m,f[11][1001];
     5 
     6 int min(int a,int b){
     7     if(a>b) return b;return a;
     8     }
     9 int max(int a,int b){
    10     if(a>b) return a;return b;
    11     }
    12 
    13 int main()
    14 {
    15  
    16     cin>>n>>m;
    17     n=min(n,10);            
    18      
    19     for(int i=1;i<=m;++i)
    20     f[1][i]=i;
    21       
    22     for(int i=2;i<=n;++i)
    23     for(int j=1;j<=m;++j)
    24     for(int k=1;k<=j;++k)
    25     if(f[i][j]==0) f[i][j]=1+max(f[i-1][k-1],f[i][j-k]);
    26     else f[i][j]=min(f[i][j],1+max(f[i-1][k-1],f[i][j-k]));
    27       
    28     cout<<f[n][m]<<endl;
    29    // system("pause");
    30     
    31     return 0;
    32     
    33     }
  • 相关阅读:
    发送电子邮件
    PHP Session
    Cookie
    Python基础语法
    Python中文编码
    Python简介
    PHP文件上传
    基于1.22.1版本的k8s部署
    k8s基于NFS创建动态存储StorageClass
    关于在k8s-v1.20以上版本使用nfs作为storageclass出现selfLink was empty, can‘t make reference
  • 原文地址:https://www.cnblogs.com/noip/p/2649694.html
Copyright © 2011-2022 走看看