fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. import java.util.HashMap;
  8. import java.util.Scanner;
  9.  
  10. class Utkarsh_and_Jumps {
  11. private static double p;
  12. private static HashMap<Integer, Double> dp;
  13.  
  14. public static void main(String[] args) {
  15. Scanner scanner = new Scanner(System.in);
  16. int n = scanner.nextInt();
  17. p = scanner.nextInt();
  18. dp = new HashMap<Integer, Double>();
  19.  
  20. for (int i = n; i >= 0; i--) {
  21. solve(i, n);
  22. }
  23.  
  24. System.out.println(String.format("%.6g%n", solve(0, n)));
  25. }
  26.  
  27. private static double solve(int i, int n) {
  28. if (dp.containsKey(i)) {
  29. return dp.get(i);
  30. }
  31. if (i == n) {
  32. return 1;
  33. } else if (i > n) {
  34. return 0;
  35. }
  36. double a = solve(i + 2, n) * (p / 100);
  37. double b = solve(i + 3, n) * (1 - (p / 100));
  38. dp.put(i, a + b);
  39. return a + b;
  40. }
  41. }
  42.  
Success #stdin #stdout 0.13s 4386816KB
stdin
29194 14
stdout
0.349650