Submission #42101507
Source Code Expand
// LUOGU_RID: 112375714
#include<bits/stdc++.h>
using namespace std;
const int maxn = 605;
const int maxm = 605 * 605 / 2;
double dp[maxn],f[maxn];
int n,m,out[maxn];
struct edge
{
int to,nxt;
}e[maxm << 1];
int head[maxn],tot,maxx;
double ans;
void add_edge(int u,int v)
{
e[++tot].nxt = head[u];
head[u] = tot;
e[tot].to = v;
}
void solve(int u)
{
maxx = 0;
out[u]--;
for(int i = head[u];i;i = e[i].nxt)
{
int v = e[i].to;
if(f[v] > f[maxx])
{
maxx = v;
}
}
memset(dp,0,sizeof(dp));
for(int x = n;x;x--)
{
for(int i = head[x];i;i = e[i].nxt)
{
int v = e[i].to;
if(u == x && v == maxx)
continue;
dp[x] += (dp[v] + 1) / out[x];
}
}
out[u]++;
if(dp[1])
{
ans = min(ans,dp[1]);
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin >> n >> m;
for(int i = 1;i <= m;i++)
{
int u,v;
cin >> u >> v;
add_edge(u,v);
out[u]++;//计算出度
}
for(int u = n - 1;u;u--)
{
for(int i = head[u];i;i = e[i].nxt)
{
int v = e[i].to;
f[u] += (f[v] + 1) / out[u];//初始的期望值
}
}
ans = f[1];
for(int i = 1;i < n;i++)
{
if(out[i] == 1)
{
continue;
}
solve(i);
}
printf("%.10lf",ans);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Fork in the Road |
| User | luogu_bot2 |
| Language | C++ (GCC 9.2.1) |
| Score | 600 |
| Code Size | 1383 Byte |
| Status | AC |
| Exec Time | 1257 ms |
| Memory | 5072 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-00, 00-sample-01, 00-sample-02 |
| All | 00-sample-00, 00-sample-01, 00-sample-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 01-handmade-07, 01-handmade-08, 01-handmade-09, 02-small-10, 02-small-11, 02-small-12, 02-small-13, 02-small-14, 02-small-15, 02-small-16, 02-small-17, 02-small-18, 02-small-19, 02-small-20, 02-small-21, 02-small-22, 02-small-23, 02-small-24, 03-medium-25, 03-medium-26, 03-medium-27, 03-medium-28, 03-medium-29, 03-medium-30, 03-medium-31, 03-medium-32, 03-medium-33, 03-medium-34, 03-medium-35, 03-medium-36, 03-medium-37, 03-medium-38, 03-medium-39, 03-medium-40, 03-medium-41, 03-medium-42, 03-medium-43, 03-medium-44, 04-large-45, 04-large-46, 04-large-47, 04-large-48, 04-large-49, 04-large-50, 04-large-51, 04-large-52, 04-large-53, 04-large-54, 04-large-55, 04-large-56, 04-large-57, 04-large-58, 04-large-59, 04-large-60, 04-large-61, 04-large-62, 04-large-63, 04-large-64 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-00 | AC | 7 ms | 3664 KiB |
| 00-sample-01 | AC | 2 ms | 3544 KiB |
| 00-sample-02 | AC | 2 ms | 3556 KiB |
| 01-handmade-03 | AC | 1257 ms | 5072 KiB |
| 01-handmade-04 | AC | 1252 ms | 4904 KiB |
| 01-handmade-05 | AC | 2 ms | 3492 KiB |
| 01-handmade-06 | AC | 1203 ms | 5056 KiB |
| 01-handmade-07 | AC | 2 ms | 3668 KiB |
| 01-handmade-08 | AC | 176 ms | 4036 KiB |
| 01-handmade-09 | AC | 2 ms | 3708 KiB |
| 02-small-10 | AC | 2 ms | 3708 KiB |
| 02-small-11 | AC | 2 ms | 3648 KiB |
| 02-small-12 | AC | 2 ms | 3608 KiB |
| 02-small-13 | AC | 3 ms | 3632 KiB |
| 02-small-14 | AC | 2 ms | 3640 KiB |
| 02-small-15 | AC | 2 ms | 3676 KiB |
| 02-small-16 | AC | 2 ms | 3672 KiB |
| 02-small-17 | AC | 2 ms | 3660 KiB |
| 02-small-18 | AC | 2 ms | 3644 KiB |
| 02-small-19 | AC | 2 ms | 3496 KiB |
| 02-small-20 | AC | 2 ms | 3704 KiB |
| 02-small-21 | AC | 3 ms | 3632 KiB |
| 02-small-22 | AC | 4 ms | 3500 KiB |
| 02-small-23 | AC | 1 ms | 3676 KiB |
| 02-small-24 | AC | 2 ms | 3632 KiB |
| 03-medium-25 | AC | 2 ms | 3672 KiB |
| 03-medium-26 | AC | 2 ms | 3652 KiB |
| 03-medium-27 | AC | 2 ms | 3508 KiB |
| 03-medium-28 | AC | 2 ms | 3508 KiB |
| 03-medium-29 | AC | 2 ms | 3572 KiB |
| 03-medium-30 | AC | 2 ms | 3656 KiB |
| 03-medium-31 | AC | 2 ms | 3580 KiB |
| 03-medium-32 | AC | 2 ms | 3684 KiB |
| 03-medium-33 | AC | 2 ms | 3568 KiB |
| 03-medium-34 | AC | 2 ms | 3512 KiB |
| 03-medium-35 | AC | 2 ms | 3560 KiB |
| 03-medium-36 | AC | 2 ms | 3620 KiB |
| 03-medium-37 | AC | 5 ms | 3652 KiB |
| 03-medium-38 | AC | 2 ms | 3584 KiB |
| 03-medium-39 | AC | 2 ms | 3644 KiB |
| 03-medium-40 | AC | 1 ms | 3712 KiB |
| 03-medium-41 | AC | 2 ms | 3712 KiB |
| 03-medium-42 | AC | 2 ms | 3512 KiB |
| 03-medium-43 | AC | 3 ms | 3668 KiB |
| 03-medium-44 | AC | 2 ms | 3724 KiB |
| 04-large-45 | AC | 8 ms | 3720 KiB |
| 04-large-46 | AC | 16 ms | 3688 KiB |
| 04-large-47 | AC | 79 ms | 3852 KiB |
| 04-large-48 | AC | 148 ms | 3908 KiB |
| 04-large-49 | AC | 256 ms | 4212 KiB |
| 04-large-50 | AC | 6 ms | 3692 KiB |
| 04-large-51 | AC | 18 ms | 3664 KiB |
| 04-large-52 | AC | 86 ms | 3892 KiB |
| 04-large-53 | AC | 175 ms | 4068 KiB |
| 04-large-54 | AC | 329 ms | 4368 KiB |
| 04-large-55 | AC | 5 ms | 3512 KiB |
| 04-large-56 | AC | 23 ms | 3712 KiB |
| 04-large-57 | AC | 76 ms | 3840 KiB |
| 04-large-58 | AC | 152 ms | 3968 KiB |
| 04-large-59 | AC | 255 ms | 4220 KiB |
| 04-large-60 | AC | 6 ms | 3648 KiB |
| 04-large-61 | AC | 18 ms | 3728 KiB |
| 04-large-62 | AC | 85 ms | 3828 KiB |
| 04-large-63 | AC | 191 ms | 4088 KiB |
| 04-large-64 | AC | 390 ms | 4404 KiB |