POJ 2570 Fiber Network(floyd闭包)
来源:互联网 发布:王献之 洛神赋 知乎 编辑:程序博客网 时间:2024/04/29 04:30
因为小写字母最多26个,公司也就最多26个,所以用一个int的位来存储公司即可。
G++ T到死,C++235ms。
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=200+5;int line[maxn][maxn];int n;char cmd[30];void floyd(){ for(int k=1;k<=n;k++) { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { line[i][j]|=(line[i][k]&line[k][j]); } } }}int main(){ while(scanf("%d",&n)&&n) { memset(line,0,sizeof(line)); int x,y; while(scanf("%d%d",&x,&y)&&(x+y)) { scanf("%s",cmd); for(int i=0;cmd[i];i++) { line[x][y]|=(1<<(cmd[i]-'a')); } } floyd(); while(scanf("%d%d",&x,&y)&&(x+y)) { int tmp=line[x][y]; bool have=false; for(int i=0;(1<<i)<=tmp;i++) if(((1<<i)&tmp)) {have=true;printf("%c",i+'a');} if(!have) printf("-"); printf("\n"); } printf("\n"); } return 0;}
0 0
- POJ 2570 Fiber Network(floyd闭包)
- poj 2570 Fiber Network(传递闭包,floyd+位运算)
- POJ 2570 Fiber Network(Floyd传递闭包+状态压缩)
- poj 2570 Fiber Network Floyd
- poj 2570 Fiber Network(floyd)
- poj 2570 Fiber Network (两种解法 1.floyd+位操作 2.传递闭包)
- POJ2570 Fiber Network floyd传递闭包
- poj 2570 Fiber Network(最短路+Floyd)
- POJ--2570--Fiber Network【floyd+位运算】
- poj 2570 Fiber Network (Floyd)
- poj 2570 Fiber Network floyd算法
- Poj 2570 Fiber Network【Floyd+状态压缩】
- [floyd]poj 2570 fiber network #floyd+位运算
- poj 2570 Fiber Network(floyd)
- POJ 2570Fiber Network(Floyd+位运算)
- poj 2570 Fiber Network --floyd求传递闭包加位运算
- poj 2570 Fiber Network Floyd思想+二进制处理
- POJ 2570 Fiber Network
- php文章相似度计算 不用similar_text()函数
- 使用Nexus创建私服
- 【BZOJ 1150】[CTSC2007]数据备份Backup treap+贪心
- SeaJS模块化开发-实战篇
- 2014新跟踪算法KCF笔记
- POJ 2570 Fiber Network(floyd闭包)
- ListView的性能优化之convertView和viewHolder
- Git 浅见
- Java并发实践: 显式锁之Condition使用
- CTR 预估候选集选择方案
- 配置本地yum源(cdrom)
- 树莓派raspberry pi3硬件解码H264 GPU OMX
- 在gitHub创建Maven分模块项目
- C++类型转换函数(类型转换运算符函数)