Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. #include <functional>
  2. #include <algorithm>
  3. #include <iostream>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <cassert>
  7. #include <sstream>
  8. #include <numeric>
  9. #include <string>
  10. #include <vector>
  11. #include <cstdio>
  12. #include <bitset>
  13. #include <cmath>
  14. #include <ctime>
  15. #include <queue>
  16. #include <stack>
  17. #include <map>
  18. #include <set>
  19.  
  20. using namespace std;
  21.  
  22. #define forit(it, s) for(__typeof(s.begin()) it = s.begin(); it != s.end(); it++)
  23. #define np(v) next_permutation(v.begin(), v.end())
  24. #define pll pair < long long, long long>
  25. #define all(a) a.begin(), a.end()
  26. #define ull unsigned long long
  27. #define pii pair < int, int >
  28. #define sz(a) (int)a.size()
  29. #define sqr(x) ((x) * (x))
  30. #define y1 stupid_cmath
  31. #define vi vector <int>
  32. #define pb push_back
  33. #define mp make_pair
  34. #define ll long long
  35. #define f first
  36. #define s second
  37.  
  38. const int inf = (int)1e9;
  39. const int mod = inf + 9;
  40. const int N = (int)1e6;
  41. const double eps = 1e-9;
  42. const double pi = acos(-1.0);
  43.  
  44. int n, m;
  45. ll dp[6000][6000];
  46.  
  47. void solve(){
  48. cin >> n >> m;
  49.  
  50. if(n >= 8000 || m > n * 6){
  51. cout << 0 << endl;
  52. }else{
  53. for(int i = 1; i <= n; ++i){
  54. for(int j = 1; j <= m; ++j){
  55. dp[i][j] = 0;
  56. }
  57. }
  58. dp[1][1] = 1;
  59. dp[1][2] = 1;
  60. dp[1][3] = 1;
  61. dp[1][4] = 1;
  62. dp[1][5] = 1;
  63. dp[1][6] = 1;
  64. for(int i = 2; i <= n; ++i){
  65. for(int j = i; j <= 6 * n; ++j){
  66. dp[i][j] = dp[i - 1][j - 1];
  67. if(j>2)
  68. dp[i][j]+=dp[i-1][j-2];
  69. if(j>3)
  70. dp[i][j]+=dp[i-1][j-3];
  71. if(j>4)
  72. dp[i][j]+=dp[i-1][j-4];
  73. if(j>5)
  74. dp[i][j]+=dp[i-1][j-5];
  75. if(j>6)
  76. dp[i][j]+=dp[i-1][j-6];
  77. }
  78. }
  79. double p = dp[n][m];
  80. for(int i = 1; i <= n; ++i){
  81. p /= 6.0;
  82. }
  83. int ans = p * 100;
  84. cout << ans << endl;
  85. }
  86.  
  87. }
  88.  
  89.  
  90. int main(){
  91. ios_base::sync_with_stdio(0), cin.tie(0);
  92. int T;
  93. cin >> T;
  94. for(int t = 1; t <= T; ++t){
  95. // cout << "Case " << t << ": ";
  96. solve();
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement