天天看點

uva 10934 有k個氣球 用高n層樓來測試氣球硬度 求最小扔幾次可以測出來

#include<cstdio>
#include<cstring>
using namespace std;
long long dp[160][80],n;
int k;
int main(){
	for(int i=1;i<=100;i++)
	for(int j=1;j<=64;j++)
	dp[i][j]=dp[i-1][j-1]+dp[i][j-1]+1;
	while(scanf("%d%lld",&k,&n) ==2  && k && n){
		int flag=0;
		for(int i=1;i<64;i++)
		if(dp[k][i]>=n){
			flag=i;
			break;
		}
		if(flag) printf("%d\n",flag);
		else printf("More than 63 trials needed.\n");
	}
}