parent
273b1ba542
commit
08c804bb36
@ -1 +0,0 @@
|
||||
<mxfile host="Electron" modified="2022-06-20T07:53:04.288Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.0.2 Chrome/96.0.4664.55 Electron/16.0.5 Safari/537.36" etag="jNveJB-z9TWn2FKd464S" version="16.0.2" type="device"><diagram id="S7yhPZ9SSO8EGXcPaCVl" name="第 1 页">5VpLc9owEP41zLSHMtbLj2NDHj00M+mkbdLePFiAEmNRI4rJr6+MZbAlB0gCVgkzHLwraWV9+3m1WtFBvXF2lYaT0TWPaNyBTpR10HkHQoAh7OQ/J1oUGt8jhWKYskh1Witu2RNVSkdpZyyi01pHwXks2KSu7PMkoX1R04Vpyuf1bgMe12edhENqKG77YWxq71gkRkrrErxu+ELZcFRODdygaBmHZW+1lOkojPi8okIXHdRLORfF0zjr0ThHrwSmGHf5TOvqzVKaiF0GDB7cy3F2+fPp4QpP/izI7Ovi/pOy8jeMZ2rFD+ptxaLEQJqRcEvhbD5igt5Own7eMpcel7qRGMdSAvIxnE4KHwxYRuWsZ1OR8scVcFhqBjwRyssQlbKaqmFF5evRVNCsolIrvKJ8TEW6kF1Ua4AV2opvIFDyfO09olSjit9KXaj4MlxZXiMqHxSozQBf9JxfT78ZFL9/XH0PxfUw/PatAeAM2EbYgLMB9GcRdoM6wtCxjDA0EUZHjbDneTWEEbKMMDIRhkeNcKBxGNvmMDYRfjxqhH2/jjCxzWFiIJwcNcAu1AC2TWHXANjEN4k+5zmZlPpxOJ2yfh3WlM+SKMfz3NEQ9KRMMybuVVv+/Ct/7hIlnWeVpvNFKSRyaffK/FKojMrF9bClVI4z/VkshkZGumgkK1M+S/t0e84lwnRIxbbUwSTAjg5OaRwK9rf+uk1eVzPccCYXst6EHC1EehpximWqUdW0UzdENENQM1TgYBhaknC17Nfz0jN4edeQgckPUdTJWFCgx2OeSk3CkzwuDFgca6owZsMkZ7TkAZX6s/yzZvIE8Vk1jFkUxc8Flc2U30cg1uIE8M044TbQCB0qTvitxYku9CuhArwmULw4TORGb2jKJFY5GZa9LIQOaDN0BNoXLw3vJ3RApBk6cOgI2qMq2Zmp/8XWhK3yy8V1Wug5za788n3YdT3PdQMijWpWEfa6aHn4klsfQq7jtsq9sgB2ePKBN1BvFTYrKdUugdMCZZFVypZlz7dSNgBBTlnfgW7g5QyumSXY6WIMCCI+CggO2mWsWeo6VLh8wQlgA2e1MwHcwtmltJ+9fVOVZSuRiVUiBxtCpsztq40owK8jOXBg/XPBoN0zAzBrinum8u603HZU3SMD8TEwEDj6yVTPCnelmavXqFo+mQKzrnqogPmC/PK1W/q+8tJNtyj/NzNPIy81S9Ut7PJvyEs9WI+nEi+7+zw8Bi6/oyhrVv7vGi4IT6YACD3LBUBg3hTcNdwnvluHGJ8Wari6adcjTTVy8/7x3XrE9zSHNPxppF2HmEXywYcMfDwdl7hAcwm27RKzGCxdgk7IJZ7216rVRZ4tl5Tz110CT8gl+t6Obe/t0KwBSpc8npBL9DsrQg7mEimu/z1apMvrP+Gii38=</diagram></mxfile>
|
@ -1,48 +0,0 @@
|
||||
#include <bits/stdc++.h>
|
||||
using namespace std;
|
||||
const int INF = 0x3f3f3f3f;
|
||||
const int N = 15;
|
||||
double f[N][N][N][N][5][5];
|
||||
int a, b, c, d;
|
||||
int main() {
|
||||
memset(f, -1, sizeof f);
|
||||
cin >> a >> b >> c >> d;
|
||||
|
||||
for (int i = 13; i >= 0; i--)
|
||||
for (int j = 13; j >= 0; j--)
|
||||
for (int k = 13; k >= 0; k--)
|
||||
for (int w = 13; w >= 0; w--)
|
||||
for (int x = 4; x >= 0; x--)
|
||||
for (int y = 4; y >= 0; y--) {
|
||||
double &v = f[i][j][k][w][x][y];
|
||||
if (i + (x == 1) + (y == 1) >= a && j + (x == 2) + (y == 2) >= b
|
||||
&& k + (x == 3) + (y == 3) >= c && w + (x == 4) + (y == 4) >= d) {
|
||||
v = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
v = 1;
|
||||
int sum = i + j + k + w + (x != 0) + (y != 0);
|
||||
if (i < 13) v += f[i + 1][j][k][w][x][y] * (13 - i) / (54 - sum);
|
||||
if (j < 13) v += f[i][j + 1][k][w][x][y] * (13 - j) / (54 - sum);
|
||||
if (k < 13) v += f[i][j][k + 1][w][x][y] * (13 - k) / (54 - sum);
|
||||
if (w < 13) v += f[i][j][k][w + 1][x][y] * (13 - w) / (54 - sum);
|
||||
if (x == 0) {
|
||||
double t = INF;
|
||||
for (int u = 1; u <= 4; u++) t = min(t, f[i][j][k][w][u][y] / (54 - sum));
|
||||
v += t;
|
||||
}
|
||||
if (y == 0) {
|
||||
double t = INF;
|
||||
for (int u = 1; u <= 4; u++) t = min(t, f[i][j][k][w][x][u] / (54 - sum));
|
||||
v += t;
|
||||
}
|
||||
}
|
||||
|
||||
if (f[0][0][0][0][0][0] > 54)
|
||||
printf("-1.000");
|
||||
else
|
||||
printf("%.3lf", f[0][0][0][0][0][0]);
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
#include <bits/stdc++.h>
|
||||
using namespace std;
|
||||
const int INF = 0x3f3f3f3f;
|
||||
const int N = 15;
|
||||
double f[N][N][N][N][5][5];
|
||||
int a, b, c, d;
|
||||
int main() {
|
||||
memset(f, -1, sizeof f);
|
||||
cin >> a >> b >> c >> d;
|
||||
|
||||
for (int i = 13; i >= 0; i--)
|
||||
for (int j = 13; j >= 0; j--)
|
||||
for (int k = 13; k >= 0; k--)
|
||||
for (int w = 13; w >= 0; w--)
|
||||
for (int x = 4; x >= 0; x--)
|
||||
for (int y = 4; y >= 0; y--) {
|
||||
double &v = f[i][j][k][w][x][y];
|
||||
if (i + (x == 1) + (y == 1) >= a && j + (x == 2) + (y == 2) >= b
|
||||
&& k + (x == 3) + (y == 3) >= c && w + (x == 4) + (y == 4) >= d) {
|
||||
v = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
v = 1;
|
||||
int sum = i + j + k + w + (x != 0) + (y != 0);
|
||||
if (i < 13) v += f[i + 1][j][k][w][x][y] * (13 - i) / (54 - sum);
|
||||
if (j < 13) v += f[i][j + 1][k][w][x][y] * (13 - j) / (54 - sum);
|
||||
if (k < 13) v += f[i][j][k + 1][w][x][y] * (13 - k) / (54 - sum);
|
||||
if (w < 13) v += f[i][j][k][w + 1][x][y] * (13 - w) / (54 - sum);
|
||||
if (x == 0) {
|
||||
double t = INF;
|
||||
for (int u = 1; u <= 4; u++) t = min(t, f[i][j][k][w][u][y] / (54 - sum));
|
||||
v += t;
|
||||
}
|
||||
if (y == 0) {
|
||||
double t = INF;
|
||||
for (int u = 1; u <= 4; u++) t = min(t, f[i][j][k][w][x][u] / (54 - sum));
|
||||
v += t;
|
||||
}
|
||||
}
|
||||
|
||||
if (f[0][0][0][0][0][0] > 54)
|
||||
printf("-1.000");
|
||||
else
|
||||
printf("%.3lf", f[0][0][0][0][0][0]);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in new issue