HDU-1625-Numbering Paths

发布时间:2017-5-23 3:29:45 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"HDU-1625-Numbering Paths",主要涉及到HDU-1625-Numbering Paths方面的内容,对于HDU-1625-Numbering Paths感兴趣的同学可以参考一下。

题目大意是说给你一些变化规则,让你求出从一个数变到另外一个数的方法数,如果是无限种,则输出-1 由于最后需要用矩阵表示,所以用floyd比较简单,需要特殊处理下有无限种的可能,即出现环的情况 代码: #include<cstdio> #include<cstring> #include<iostream> using namespace std; const int maxn=101; int n,m,map[maxn][maxn]; void solve() { for(int k=0;k<=m;k++) for(int i=0;i<=m;i++) for(int j=0;j<=m;j++) if(map[i][k]&&map[k][j]) map[i][j]+=map[i][k]*map[k][j]; for(int k=0;k<=m;k++) if(map[k][k]) for(int i=0;i<=m;i++) for(int j=0;j<=m;j++) if(map[i][k]&&map[k][j]) map[i][j]=-1; for(int i=0;i<=m;i++,printf("\n")) for(int j=0;j<=m;j++) printf(" %d",map[i][j]); } int main() { int cas=0; while(scanf("%d",&n)!=EOF) { memset(map,0,sizeof(map)); m=0; for(int i=0;i<n;i++) { int u,v; scanf("%d%d",&u,&v); map[u][v]=1; m=max(m,u); m=max(m,v); } printf("matrix for city %d\n",cas++); solve(); } return 0; }

上一篇:为何同样的协议KWP2000,有的可以通讯,有的不能通讯
下一篇:SetTimer在Win32和非窗口下定时

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

腹肌贴健身器材智能腹部训练健腹器肌