日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

U4699 鸡蛋

發(fā)布時間:2025/1/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 U4699 鸡蛋 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?U4699 雞蛋

    • 0通過
    • 37提交
  • 題目提供者飛翔
  • 標簽
  • 難度尚無評定

?提交??

最新討論

  • 暫時沒有討論

題目背景

調皮的kkk準備惡搞他的同學兼朋友——你!

題目描述

kkk準備從樓上扔雞蛋下來砸在lzn身上,讓lzn變成“雞蛋王子”。但是如果雞蛋沒有破裂,辣么就沒有什么好玩的了,所以kkk必須知道雞蛋最少在哪一層樓上扔下來會摔破。

kkk為了實驗事先買了K個雞蛋(這些雞蛋的硬度一樣),并來到了一個N層高樓上。每次kkk可以拿著一個雞蛋從t樓扔下去,并觀察雞蛋有沒有摔破。如果雞蛋在第t層樓沒有摔破,那么在1..t-1層樓都不會摔破,而且不論在1..t層樓摔多少次雞蛋都不會破。

lzn馬上就要過來了,所以你需要幫kkk求出,她最少要做多少次實驗。

輸入輸出格式

輸入格式:

?

有多組數(shù)據(jù),每組數(shù)據(jù)包含兩個整數(shù)K和N

?

輸出格式:

?

對于每組數(shù)據(jù)輸出最少實驗次數(shù),如果實驗63次還不能成功,輸出TLE

?

輸入輸出樣例

輸入樣例#1:
2 100 1 100 輸出樣例#1:
14 TLE

說明

1<=K<=100

1<=N<2^64

題解:

數(shù)據(jù)范圍太大,二分就拜拜了。

只能用考慮dp or遞推。

然后自己軟腿就推出來了。

f[i][j]表示i個雞蛋扔j次恰好是f[i][j]層隨

轉移f[i][j]=f[i][j-1]+f[i-1][j-1]+1;

解釋:

?

f[i][j]=k表示當有i個雞蛋時扔j次,若樓層數(shù)<=k則可確定唯一樓層!
那代碼中f[a][b]=f[a][b-1]+f[a-1][b-1]+1;表示什么?
若從某一層扔雞蛋沒碎,剩下了b-1次拋投機會;
若從該層扔下去碎了,不但少了一個雞蛋,還少了一次拋投機會。
由于從第i層扔雞蛋,沒碎則雞蛋硬度>=i,碎了則硬度<i,所以以上兩種情況判斷的樓層區(qū)間不會重疊。
但是別忘了扔雞蛋的那一層……
所以狀態(tài)轉移方程為f[a][b]=f[a][b-1]+f[a-1][b-1]+1。

?

AC代碼:

#include<iostream> #include<cstdio> using namespace std; long long f[105][3001]; long long k,n; int main(){for(int a=1;a<=101;a++)for(int b=1;b<=3000;b++)f[a][b]=f[a][b-1]+f[a-1][b-1]+1;while(cin>>k>>n){bool flag=0;for(int a=0;a<=63;a++) if(f[k][a]>=n){flag=1;printf("%d\n",a);break;}if(!flag) printf("TLE\n");}return 0; }

?

轉載于:https://www.cnblogs.com/shenben/p/5883040.html

總結

以上是生活随笔為你收集整理的U4699 鸡蛋的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。