倒数第二个点WA

P1144 最短路计数

额,这布局怎么回事
by C201914 @ 2018-07-05 09:32:05


```cpp #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define INF 0x7ffffff using namespace std; int n,cnt=0,jf[1000001],bj[1000001],q[1000001],head=1,tail=1,h[1000001],dist[1000001],m; struct fd{ int next; int to; }a[4000001]; void add(int x,int y) { cnt++; a[cnt].to=y; a[cnt].next=h[x]; h[x]=cnt; } int main() { scanf("%d%d",&n,&m); for(int i=1,x,y;i<=m;i++) { scanf("%d%d",&x,&y); add(x,y); add(y,x); } for(int i=1;i<=n;i++)dist[i]=INF;dist[1]=0;jf[1]++; q[1]=1; while(head<=tail) { int L=q[head]; bj[L]=0; head++; for(int u=h[L];u;u=a[u].next) { if(dist[a[u].to]>dist[L]+1) { dist[a[u].to]=dist[L]+1; jf[a[u].to]=jf[L]; if(!bj[a[u].to]) { tail++; q[tail]=a[u].to; bj[a[u].to]=1; } } else if(dist[a[u].to]==dist[L]+1) jf[a[u].to]+=jf[L];jf[a[u].to]%100003; } } for(int i=1;i<=n;i++) { if(dist[i]!=INF)printf("%d\n",jf[i]%100003); else printf("0\n"); } } ```
by C201914 @ 2018-07-05 09:37:34


期末考完了心情很好(_~~凉凉~~_ )
by C201914 @ 2018-07-05 10:02:44


|