给出一个n个顶m 条边的无向无权图,顶点编号为 1 到 n.N.

问从顶点 1开始,到其他每个点的最短路有几条。

#include<bits/stdc++.h>
#define N 1000000
#define MOD 100003
using namespace std;
int head[N],net[N],to[N];;
int a[N],d[N],cnt[N];
int n,m,cut;
priority_queue<pair<int ,int > > dl;
void add(int from,int t){net[++cut]=head[from];to[cut]=t;head[from]=cut;}
void dij(int x)
{
memset(d,0x3f3f3f3f,sizeof d);
dl.push(make_pair(0,x));
a[x]=1,d[x]=0,cnt[x]=1;
while(dl.size())
{
x=dl.top().second;dl.pop();
for(int i=head[x];i;i=net[i])
{
int y=to[i];
if(d[y]==d[x]+1){cnt[y]+=cnt[x];cnt[y]%=MOD;}
if(d[y]>d[x]+1){d[y]=d[x]+1;cnt[y]=cnt[x];dl.push(make_pair(-d[y],y));} }
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
scanf("%d%d",&x,&y);
add(x,y);add(y,x);
}
dij(1);
for(int i=1;i<=n;i++)
printf("%d\n",cnt[i]);
return 0;
}

最新文章

  1. 随机生成长度为len的密码,且包括大写、小写英文字母和数字
  2. mybatis,sql 批量更新
  3. NRF51822之ADC(1)
  4. 黑马程序员——JAVA基础之File类,递归,打印流,合并切割流
  5. Unity烂笔头1-自定义INSPECTOR属性窗口节点项
  6. 关于json 与 Request Header 的Content-Type 一些关系。
  7. Spring对Hibernate的session生效期(事物提交管理)介绍
  8. SQL Server小技巧【1】
  9. CentOS 安装BitTorrent Sync详细步骤
  10. bootstrap 分页样式代码
  11. Hibernate4.x之映射关系--多对多
  12. 【开发】Form Validate 表单验证 扩展应用
  13. zoj 3787 Access System
  14. Javascript兼容收集
  15. css 定位属性position的使用方法实例-----一个层叠窗口
  16. MySQL复制之理论篇
  17. Shiro学习之身份验证
  18. 内存(RAM或ROM)和FLASH存储的真正区别总结
  19. python基础(8)-装饰器函数&amp;进阶
  20. Xilinx SDK编译Microblaze时出错

热门文章

  1. ubuntu查看已安装软件包信息的方法
  2. Linux服务之Samba服务篇
  3. Linux进阶之VMware Linux虚拟机运行提示“锁定文件失败 虚拟机开启模块snapshot失败”的解决办法
  4. VFB FEEDBACK
  5. Epicor Advanced Unit of Measure
  6. docker部署安装流程第一版
  7. Jenkins-java项目自动发布
  8. CUDA 11功能展示
  9. JVM快速入门(上)
  10. Python集合:set