zoj 1589
2012-05-01 10:36
232 查看
/** 将输入的字母转化为0 ~25 直接的整数,通过数组进行运算 */ #include <iostream> #include <cstdio> using namespace std; #define N 5 //相当于定义一个无穷大数 int a[26][26]; int i,j; void init() { for(i=0;i<26;i++) for(j=0;j<26;j++) if(i==j) a[i][j]=0; else a[i][j]=N; } void creat(int n) { char b,c,d; for(int t=0;t<n;t++) { cin>>b>>c>>d; if(c =='<') a[b-'A'][d-'A']=1; else a[d-'A'][b-'A']=1; } } void compare() { int u,v,w; for(u=0;u<26;u++) for(v=0;v<26;v++) for(w=0;w<26;w++) if(a[u][v]+a[v][w]<a[u][w]) a[u][w]=2; } int main() { int m,q,flag; while(cin>>m) { for(int z=1;z<=m;z++) { cin>>q; flag=0; init(); creat(q); compare(); cout<<"Case "<<z<<":"<<endl; for(i=0;i<26;i++) for(j=0;j<26;j++) if(a[i][j]==2) { printf("%c<%c\n",i+'A',j+'A'); flag=1; } if(!flag) cout<<"NONE"<<endl; } } return 0; }
参考:http://archive.cnblogs.com/a/1401427/
相关文章推荐
- zoj 1589 Professor John 尚有点小疑问
- zoj 1589 Professor John
- ZOJ 1589 Professor John(传递闭包)
- ZOJ 1589 Professor John (图的传递闭包)
- zoj 1589 传递闭包
- TOJ 2933 ZOJ 1589 Professor John / floyd
- ZOJ 1589 Professor John
- ZOJ-1589
- ZOJ 1589 Professor John【暴力解决】【待改进】
- zoj 1589 Professor John(Dijkstra~)
- ZOJ-1589 Professor John
- zoj 1382 A Simple Task
- ZOJ 2970 Faster, Higher, Stronger
- zoj 2588 Burning Bridges 割边求解
- ZOJ 1137(二分图的最大独立点集)
- zoj 1715 When Can We Meet?
- [ZOJ 2287][Vjudge 40177] Shuttlecock [计算几何]
- ZOJ 3201 Tree of Tree
- ZOJ P1101 Gamblers(赌徒) 题目 中文版
- zoj 2345 Gold Coins