Egg Dropping Puzzle
PROBLEM :
The following is a description of the instance of this famous puzzle involving n=2 eggs and a building with k=36 floors.
Suppose that we wish to know which stories in a 36-story building are safe to drop eggs from, and which will cause the eggs to break on landing. We make a few assumptions:
…..An egg that survives a fall can be used again.
…..A broken egg must be discarded.
…..The effect of a fall is the same for all eggs.
…..If an egg breaks when dropped, then it would break if dropped from a higher floor.
…..If an egg survives a fall then it would survive a shorter fall.
…..It is not ruled out that the first-floor windows break eggs, nor is it ruled out that the 36th-floor do not cause an egg to break.
In this problem you have to find minimum trials to solve for n eggs and k floors.
For more description on this problem (CLICK ON THIS LINK)
Input:
The first line contains an integer T, depicting total number of test cases.
Then following T lines contains 2 integers n and k.
Output:
Print the minimum trials required to solve the problem.
Constraints:
1<=T<=30
1<=n<=10
1<=k<=50
Example:
Input:
1
2 10
Output:
4
--------------------------------------------------------------------------------
SIMPLE c++ IMPLEMENTATION :
--------------------------------------------------------------------------------
#include<iostream>
using namespace std;
#include<limits.h>
int minimum_trials(int ,int ) ;
int max(int ,int ) ;
int main()
{
int t,n,k,ans ;
cin>>t ;
while(t--)
{
cin>>n>>k ;
ans=minimum_trials(n,k) ;
cout<<ans<<endl ;
}
return 0;
}
int minimum_trials(int egg,int Floor)
{
int mat[egg+1][Floor+1]={0} ;
int x,y,z,sum ;
for(x=1;x<=Floor;x++)
mat[1][x]=x ;
for(y=1;y<=egg;y++)
mat[y][1]=1 ;
for(x=2;x<=egg;x++)
{
for(y=2;y<=Floor;y++)
{
mat[x][y]=INT_MAX ;
for(z=1;z<=y;z++)
{
sum=1+max(mat[x-1][z-1],mat[x][y-z]) ;
if(sum<mat[x][y])
mat[x][y]=sum ;
}
}
}
return mat[egg][Floor] ;
}
int max(int a,int b)
{
if(a==b)
return a ;
return a>b?a:b ;
}
---------------------------------------------------------------------------------
The following is a description of the instance of this famous puzzle involving n=2 eggs and a building with k=36 floors.
Suppose that we wish to know which stories in a 36-story building are safe to drop eggs from, and which will cause the eggs to break on landing. We make a few assumptions:
…..An egg that survives a fall can be used again.
…..A broken egg must be discarded.
…..The effect of a fall is the same for all eggs.
…..If an egg breaks when dropped, then it would break if dropped from a higher floor.
…..If an egg survives a fall then it would survive a shorter fall.
…..It is not ruled out that the first-floor windows break eggs, nor is it ruled out that the 36th-floor do not cause an egg to break.
In this problem you have to find minimum trials to solve for n eggs and k floors.
For more description on this problem (CLICK ON THIS LINK)
Input:
The first line contains an integer T, depicting total number of test cases.
Then following T lines contains 2 integers n and k.
Output:
Print the minimum trials required to solve the problem.
Constraints:
1<=T<=30
1<=n<=10
1<=k<=50
Example:
Input:
1
2 10
Output:
4
--------------------------------------------------------------------------------
SIMPLE c++ IMPLEMENTATION :
--------------------------------------------------------------------------------
#include<iostream>
using namespace std;
#include<limits.h>
int minimum_trials(int ,int ) ;
int max(int ,int ) ;
int main()
{
int t,n,k,ans ;
cin>>t ;
while(t--)
{
cin>>n>>k ;
ans=minimum_trials(n,k) ;
cout<<ans<<endl ;
}
return 0;
}
int minimum_trials(int egg,int Floor)
{
int mat[egg+1][Floor+1]={0} ;
int x,y,z,sum ;
for(x=1;x<=Floor;x++)
mat[1][x]=x ;
for(y=1;y<=egg;y++)
mat[y][1]=1 ;
for(x=2;x<=egg;x++)
{
for(y=2;y<=Floor;y++)
{
mat[x][y]=INT_MAX ;
for(z=1;z<=y;z++)
{
sum=1+max(mat[x-1][z-1],mat[x][y-z]) ;
if(sum<mat[x][y])
mat[x][y]=sum ;
}
}
}
return mat[egg][Floor] ;
}
int max(int a,int b)
{
if(a==b)
return a ;
return a>b?a:b ;
}
---------------------------------------------------------------------------------
UsuppmoAmoga Paul Davey https://marketplace.visualstudio.com/items?itemName=isulatfu.Bomb-Escape-gratuita
ReplyDeletequipracmatle
Yspinnonlu_ne Sarah Walker McAfee Internet Security
ReplyDeleteKaspersky AntiVirus
CorelDRAW
titagrennti
monssulQprocri_2001 Donald Robinson
ReplyDeleteBest
uneninel