博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2157 - How many ways??
阅读量:6830 次
发布时间:2019-06-26

本文共 914 字,大约阅读时间需要 3 分钟。

给图,图中任意可达的两点间步数为1

问从图中A点走到B点步数为k的有几条路

 

祭出离散数学图论那章中的 邻接矩阵A.

设S=Ak

则 S[a][b] 为 a到b,步数为k的不同路的条数

剩下的就是矩阵快速幂了

1 #include 
2 #include
3 #include
4 using namespace std; 5 const int mod=1000; 6 struct P{ 7 int a[20][20]; 8 }; 9 int n,m,t,a,b,k;10 P s,c;11 P mult(P a,P b)12 {13 P c;14 memset(c.a,0,sizeof(c.a));15 for(int i=0;i
>=1;37 }38 }39 int main()40 {41 while(~scanf("%d%d",&n,&m)&&(m+n))42 {43 memset(s.a,0,sizeof(s.a));44 for(int i=1;i<=m;i++)45 {46 scanf("%d%d",&a,&b);47 s.a[a][b]=1;48 }49 scanf("%d",&t);50 for(int i=1;i<=t;i++)51 {52 scanf("%d%d%d",&a,&b,&k);53 fuc(k,s);54 printf("%d\n",c.a[a][b]);55 }56 }57 }

 

转载于:https://www.cnblogs.com/nicetomeetu/p/5646217.html

你可能感兴趣的文章
Lync Server 2010的部署系列(四) outlook无法加入联机会议
查看>>
Windows Server 2012安装SQL 2012
查看>>
MS UC 2013-0-虚拟机-标准化-部署-2-模板机-制作-5
查看>>
最常用的四种数据分析方法
查看>>
c++学习笔记:类的若干基础问题
查看>>
ubuntu更改sso文件策略
查看>>
业务开发测试HBase之旅三:通过Java Api与HBase交互
查看>>
JS父页面获取子页面返回值
查看>>
鼠标点击主窗体时,模态子窗口是WindowStyle.None时如何闪烁
查看>>
LABJS源码浅析
查看>>
myShellcode
查看>>
Qore Oracle Module 2.2 发布
查看>>
MoonScript 0.2.2 发布,基于 Lua 的脚本语言
查看>>
assertThat使用方法
查看>>
2013年11月11日工商银行笔试总结
查看>>
Qt之问题求助——当VS遇到“向Pro中添加代码”怎么办?
查看>>
使用reserve函数避免vector和string的内存重新分配
查看>>
ADO.NET(内含存储过程讲解)
查看>>
利用TreeView实现C#工具箱效果
查看>>
PyTalk : a Jabber Client un Python using xmpppy and PyQt4
查看>>