POJ-2570-Fiber Network
2013-07-22 21:58
330 查看
题目要求你找出所查询的2个点能够连接,按书上提示是Floyd的思想,并引入了位运算
代码:
代码:
#include<cstdio> #include<cstring> #include<iostream> using namespace std; const int maxn=201; int n,a[maxn][maxn]; int main() { while(scanf("%d",&n)&&n) { memset(a,0,sizeof(a)); int ita,itb; while(scanf("%d%d",&ita,&itb)&&(ita+itb)) { char str[30]; scanf("%s",str); for(int i=0;i<strlen(str);i++) a[ita][itb]|=1<<(str[i]-'a'); } for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) a[i][j]|=a[i][k]&a[k][j]; while(scanf("%d%d",&ita,&itb)&&(ita+itb)) { for(int i='a';i<='z';i++) if(a[ita][itb]&(1<<(i-'a'))) printf("%c",i); if(!a[ita][itb]) printf("-"); printf("\n"); } printf("\n"); } return 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 (传递闭包)
- POJ 2570 Fiber Network
- poj 2570 Fiber Network 一直每条边可以通过某些公司过去,问从a到b可以通过那几个公司(同一个)过去
- POJ 2570 Fiber Network
- POJ 2570 Fiber Network(最短路 二进制处理)
- poj 2570 Fiber Network(传递闭包,floyd+位运算)
- POJ-2570 Fiber Network
- zoj 1967 && poj 2570 Fiber Network
- POJ 2570 Fiber Network
- POJ 2570 Fiber Network
- poj 2570 Fiber Network(floyd)
- poj2570 Fiber Network 最短路floyd
- POJ --2570 Fiber Network
- poj 2570 Fiber Network(最短路+Floyd)
- poj 2570 Fiber Network(最短路+Floyd)
- POJ 2570 Fiber Network