Submission #3013132
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define rep(i, a) for (int (i) = 0; (i) < (int) (a); (i)++)
#define reps(i, a, b) for (int (i) = (int) (a); (i) < (int) (b); (i)++)
#define rrep(i, a) for (int (i) = (int) a-1; (i) >= 0; (i)--)
#define rreps(i, a, b) for (int (i) = (int) (a)-1; (i) >= (int) (b); (i)--)
#define MP(a, b) make_pair((a), (b))
#define PB(a) push_back((a))
#define all(v) (v).begin(), (v).end()
#define PRINT(f) if((f)){cout << (TRUE__) << endl;}else{cout << FALSE__ << endl;}
#define TRUE__ "Yes"
#define FALSE__ "No"
#define PERM(v) next_permutation(all(v))
#define UNIQUE(v) sort(all(v));(v).erase(unique(all(v)), v.end())
#define CIN(type, x) type x;cin >> x
#ifdef LOCAL
#define lcout(a) cout << a;
#define lcoutln(a) cout << a << endl;
#define lcerr(a) cerr << a;
#define lcerrln(a) cerr << a << endl;
#else
#define lcout(a)
#define lcoutln(a)
#define lcerr(a)
#define lcerrln(a)
#endif
double dp[101][70][50][35];
int a, b, c;
int main()
{
ll N, D;
cin >> N >> D;
double p[6];
rep(i, 6) p[i] = (double) i / 6;
while(D % 2 == 0) {
a++;
D /= 2;
}
while(D % 3 == 0) {
b++;
D /= 3;
}
while(D % 5 == 0) {
c++;
D /= 5;
}
rep(j, 70) {
rep(k, 50) {
rep(l, 35) {
dp[0][j][k][j] = 0;
}
}
}
dp[0][0][0][0] = 1;
reps(i, 1, N+1) {
rep(j, 70) {
rep(k, 50) {
rep(l, 35) {
double res = dp[i-1][j][k][l] * p[1];
if (j > 0) res += dp[i-1][j-1][k][l] * p[1];
if (j > 1) res += dp[i-1][j-2][k][l] * p[1];
if (j > 0 && k > 0) res += dp[i-1][j-1][k-1][l] * p[1];
if (k > 0) res += dp[i-1][j][k-1][l] * p[1];
if (l > 0) res += dp[i-1][j][k][l-1] * p[1];
dp[i][j][k][l] = res;
}
}
}
}
reps(i, 1, 3) rep(j, a+1) rep(k, b+1) rep(l, c+1) {
// cout << i << " " << j << " " << k << " " << l << " " << dp[i][j][k][l] << endl;
}
double t = 0;
reps(j, a, 70) reps(k, b, 50) reps(l, c, 35) t += dp[N][j][k][l];
cout << fixed << setprecision(12) << t << endl;
//cout << dp[N][a][b][c] << endl;
// cout << a << " " << b << " " << c << endl;
}
Submission Info
Submission Time |
|
Task |
D - サイコロ |
User |
spihill |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
2157 Byte |
Status |
WA |
Exec Time |
60 ms |
Memory |
96896 KB |
Compile Error
In function ‘int main()’:
cc1plus: warning: iteration 35u invokes undefined behavior [-Waggressive-loop-optimizations]
./Main.cpp:6:41: note: containing loop
#define rep(i, a) for (int (i) = 0; (i) < (int) (a); (i)++)
^
./Main.cpp:54:2: note: in expansion of macro ‘rep’
rep(j, 70) {
^
Judge Result
Set Name |
All |
Score / Max Score |
0 / 4 |
Status |
|
Set Name |
Test Cases |
All |
00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 90, 91 |
Case Name |
Status |
Exec Time |
Memory |
00 |
AC |
21 ms |
33024 KB |
01 |
WA |
50 ms |
82176 KB |
02 |
AC |
46 ms |
73984 KB |
03 |
AC |
23 ms |
37120 KB |
04 |
AC |
22 ms |
35072 KB |
05 |
WA |
54 ms |
88320 KB |
06 |
WA |
49 ms |
80128 KB |
07 |
WA |
47 ms |
76032 KB |
08 |
AC |
12 ms |
18688 KB |
09 |
WA |
45 ms |
73984 KB |
10 |
WA |
60 ms |
96896 KB |
90 |
AC |
3 ms |
4352 KB |
91 |
AC |
4 ms |
4352 KB |