help!

P1828 [USACO3.2] 香甜的黄油 Sweet Butter

#include<cstdio> #include<iostream> #include<cmath> #include<queue> #include<cstring> using namespace std; int n,m,x,y,g,ans,nm,u,M,a[802],b[802],s[802],v[802],c[802]; bool p[802]; struct rec { int next,to; double l; }f[3000]; int js(int dep) { int num=0; queue<int> d; memset(v,127/3,sizeof(v)); memset(p,false,sizeof(p)); d.push(dep); p[1]=true; v[dep]=0; while(!d.empty()) { g=d.front(); d.pop(); for (int i=s[g];i;i=f[i].next) if (v[g]+f[i].l<v[f[i].to]) { v[f[i].to]=v[g]+f[i].l; if (!p[f[i].to]) { p[f[i].to]=true; d.push(f[i].to); } } p[g]=false; } for (int i=1;i<=n;i++) num+=v[i]*c[i]; return num; } int main() { scanf("%d %d %d",&nm,&n,&m); for (int i=1;i<=nm;i++) { scanf("%d",&x); c[x]++; } for (int i=1;i<=m;i++) { scanf("%d %d %d",&x,&y,&u); f[++M].l=u; f[M].to=y; f[M].next=s[x]; s[x]=M; f[++M].l=u; f[M].to=x; f[M].next=s[y]; s[y]=M; } ans=2147483647; for (int i=1;i<=n;i++) ans=min(js(i),ans); printf("%d",ans); }
by chenjunfeng0704 @ 2019-01-26 11:56:12


隔壁偷盗的60分代码
by chenjunfeng0704 @ 2019-01-26 11:56:46


@[chenjunfeng0704](/space/show?uid=167413) 干什么 发无意义内容是吧 小心我通知管理
by Meatherm @ 2019-01-26 11:57:33


@[chenjunfeng0704](/space/show?uid=167413) 情况和我类似。
by 张泰来 @ 2019-03-11 23:06:31


|