bzoj 5056: OI游戏
来源:互联网 发布:log4cplus ubuntu 编辑:程序博客网 时间:2024/06/06 06:10
题意:在一个无向连通图中,有几种生成树使1到每个点的最短路的长度不变。
题解:先求出1到每个点的最短路,在看看每个点可以从哪些边走过来依然是最短路。每个点都选一条,那么答案就是每个点的这种边的乘积了。
代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,mp[60][60],dis[60][60],mod=1000000007;long long ans=1;int main(){ memset(dis,63,sizeof(dis)); scanf("%d",&n); for(int i=0;i<n;i++) { char s[60]; scanf("%s",s); for(int j=0;j<n;j++) { mp[i][j]=s[j]-'0'; if(mp[i][j]||i==j) dis[i][j]=mp[i][j]; } } for(int k=0;k<n;k++) for(int i=0;i<n;i++) for(int j=0;j<n;j++) dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]); for(int i=1;i<n;i++) { int hh=0; for(int j=0;j<n;j++) if(mp[i][j]&&dis[0][i]==dis[0][j]+mp[i][j]) hh++; ans=ans*hh%mod; } printf("%lld",ans);}
阅读全文
0 0
- bzoj 5056: OI游戏
- bzoj 5056: OI游戏
- bzoj 5056: OI游戏
- BZOJ 5056 OI游戏 (最短路径树)
- 【OI做题记录】【BZOJ】【Scoi2010】游戏
- BZOJ 5056 OI游戏 dijkstra(最短路径的数目)
- 【OI做题记录】【BZOJ】【Ahoi2014】骑士游戏
- bzoj 5000: OI树
- 【bzoj5056】OI游戏
- bzoj5056: OI游戏
- [BZOJ]5000: OI树 倍增
- wiki oi 1051 接龙游戏
- 维基oi 3285 转圈游戏
- 【OI做题记录】【BZOJ】【SCOI2009】生日快乐
- OI
- Oi
- 游戏 BZOJ
- 【OI做题记录】【BZOJ】【BeiJing wc2012】冻结
- jsonp 的原理与实现
- ssh用ajax提交表单到后台,后台返回success,不跳转到在struts.xml中设置的页面
- AT绑定句柄无效和拒绝访问
- Linux 硬盘挂载及设置交换分区swap
- 【NOIP2015】运输计划
- bzoj 5056: OI游戏
- hdu 5980 Find Small A
- Maven的作用
- hdu1157 Who's in the Middle
- Tyvj(无向图的桥)
- [51NOD
- 从金门的炮声中想到的·《这世界,原该天清地宁》·一
- MYSQL的增删改查
- ansible运维自动化