Company:
MakeMyTrip, Hike, Google, Goldman-Sachs, D-E-Shaw, Amazon, Philips, Oracle, Opera, Nearby, Mynta, MAQ-Software, VMWare, Unisys, Service Now, Samsung
Question:
Output:
Print the minimum trials required to solve the problem.
Example:
Input:
1
2 10
Code:
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
for(int mi=0;mi<m;mi++){
int n =sc.nextInt();//number of eggs
int k=sc.nextInt();//number of floors
System.out.println(eggDrop(n,k));
}
}
public static int eggDrop(int n,int k){
int [][]table = new int [n+1][k+1];
int res,i,j,x;//i=eggs and j= floors
for(i=1;i<=n;i++){
table[i][1]=1;
table[i][0]=0;
}
for(j=1;j<=k;j++){
table[1][j]=j;
}
for(i=2;i<=n;i++){
for(j=2;j<=k;j++){
table[i][j]=Integer.MAX_VALUE;
for(x=1;x<=j;x++){
res=1+Math.max(table[i-1][x-1],table[i][j-x]);
if(res<table[i][j]){
table[i][j]=res;
}
}
}
}
return table[n][k];
}
}
Execution Time: 0.09 secs
MakeMyTrip, Hike, Google, Goldman-Sachs, D-E-Shaw, Amazon, Philips, Oracle, Opera, Nearby, Mynta, MAQ-Software, VMWare, Unisys, Service Now, Samsung
Question:
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 see wiki page
…..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 see wiki page
Input:
The first line contains an integer T, depicting total number of test cases.
Then following T lines contains 2 integers n and k.
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
1<=T<=30
1<=n<=10
1<=k<=50
Example:
Input:
1
2 10
Output:
4
4
Code:
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
for(int mi=0;mi<m;mi++){
int n =sc.nextInt();//number of eggs
int k=sc.nextInt();//number of floors
System.out.println(eggDrop(n,k));
}
}
public static int eggDrop(int n,int k){
int [][]table = new int [n+1][k+1];
int res,i,j,x;//i=eggs and j= floors
for(i=1;i<=n;i++){
table[i][1]=1;
table[i][0]=0;
}
for(j=1;j<=k;j++){
table[1][j]=j;
}
for(i=2;i<=n;i++){
for(j=2;j<=k;j++){
table[i][j]=Integer.MAX_VALUE;
for(x=1;x<=j;x++){
res=1+Math.max(table[i-1][x-1],table[i][j-x]);
if(res<table[i][j]){
table[i][j]=res;
}
}
}
}
return table[n][k];
}
}
Execution Time: 0.09 secs
Comments
Post a Comment