题目描述
给出一个NN个顶点MM条边的无向无权图,顶点编号为1-N1−N。问从顶点11开始,到其他每个点的最短路有几条。
输入输出格式
输入格式:
第一行包含22个正整数N,MN,M,为图的顶点数与边数。
接下来MM行,每行22个正整数x,yx,y,表示有一条顶点xx连向顶点yy的边,请注意可能有自环与重边。
输出格式:
共NN行,每行一个非负整数,第ii行输出从顶点11到顶点ii有多少条不同的最短路,由于答案有可能会很大,你只需要输出ans \bmod 100003ansmod100003后的结果即可。如果无法到达顶点ii则输出00。
#include<bits/stdc++.h>
using namespace std;
struct node{
int u,v;
}mp[4000005];
priority_queue<pair <int,int > >q;
bool pd[1000005];
int f[1000005],ne[4000005],dist[1000005],ans[1000005],n,m,x,y;
int main(){
cin>>n>>m;
for(int i=1;i<=m*2;i+=2){
scanf("%d%d",&mp[i].u,&mp[i].v);
mp[i+1].u=mp[i].v,mp[i