社区讨论
萌新刚学期望,样例过了但是十分求助
P4316绿豆蛙的归宿参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo7t4rbm
- 此快照首次捕获于
- 2023/10/27 07:20 2 年前
- 此快照最后确认于
- 2023/10/27 07:20 2 年前
CPP
#include <list>
#include <stdio.h>
class EdGe
{
public:
int to,nxt,val;
EdGe()
{
}
}e[200005];
int cnt;
int head[1000005],in[1000005],out[1000005];
double f[1000005];
inline void add(int u,int v,int w)
{
e[++cnt].to=v;
e[cnt].nxt=head[u];
head[u]=cnt;
e[cnt].val=w;
}
int main()
{
int x,y,n,m,u,v,w,i;
scanf("%d %d",&n,&m);
for(i=1;i<=n;++i)
head[i]=-1;
for(i=1;i<=n;++i)
{
scanf("%d %d %d",&u,&v,&w);
add(v,u,w);
++in[u];
++out[u];
}
std::list<int> q;
for(i=1;i<=n;++i)
{
if(in[i]==0)
q.push_back(i);
}
while(!q.empty())
{
x=q.front();
q.pop_front();
for(i=head[x];~i;i=e[i].nxt)
{
y=e[i].to;
f[y]+=(f[x]+e[i].val)/(out[y]);
if(!--in[y])
q.push_back(y);
}
}
printf("%.2f",f[1]);
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...