posts - 274,  comments - 1258,  trackbacks - 0

 

  1 #include < cstdio >
  2 #include < iostream >
  3 #include < cassert >
  4 #include " Graph.cpp "
  5 using   namespace  std;
  6 using   namespace  TenshiNS; // 调试不同的例程,只需修改这里就行了^_^
  7 inline  in ( int &  n) {    scanf( " %d " & n);}
  8 inline  in ( double &  n) { scanf( " %lf " , & n);}
  9 template < class  T >
 10 inline show(T a[],  int  n, char  bk = '   ' ) {
 11      for ( int  i = 0 ; i < n; i ++ )
 12         cout << a[i] << bk;
 13     cout << endl;
 14 }

 15 template < class  T >
 16 inline show(T a,  int  r, int  l, char  bk = '   ' ) {
 17      for ( int  i = 0 ; i < r; i ++ ) {
 18          for ( int  j = 0 ; j < l; j ++ )
 19             cout << a[i][j] << bk;
 20         cout << endl;
 21     }

 22     cout << endl;
 23 }

 24
 25
 26 namespace  bridgeNS {
 27      char  file[] = " bridgeIn.txt " ;
 28      void  test() {
 29          int  i,v,w;
 30         g.clear();
 31          in (g.v);  in (g.e);
 32          for (i = 0 ; i < g.e; i ++ ) {
 33              in (v);  in (w);
 34             g.a[v].push_back(w);
 35             g.a[w].push_back(v);
 36         }

 37         printf( " Bridge:  " );
 38         bridge();
 39         putchar( ' \n ' );
 40     }

 41 }

 42
 43 namespace  GabowNS {
 44      char  file[] = " gabowIn.txt " ;
 45      void  test() {
 46          int  i,v,w;
 47         g.clear();
 48          in (g.v);  in (g.e);
 49          for (i = 0 ; i < g.e; i ++ ) {
 50              in (v);  in (w);
 51             g.a[v].push_back(w);
 52         }

 53         printf( " Strong:  " );
 54         init();
 55         show(sc,g.v);
 56     }

 57 }

 58
 59 namespace  PrimNS {
 60      char  file[] = " primIn.txt " ;
 61      void  test() {
 62          int  i,v,w;  double  l;
 63          in (g.v);  in (g.e);
 64         g.clear();
 65          for (i = 0 ; i < g.e; i ++ ) {
 66              in (v);  in (w);  in (l);
 67             g.a[v][w] = g.a[w][v] = l;
 68         }

 69         mst();
 70         printf( " parent:  " ); show(st + 1 ,g.v - 1 );
 71         printf( " weight:  " ); show(wt + 1 ,g.v - 1 );
 72     }

 73 }

 74
 75 namespace  DijkstraNS {
 76      char  file[] = " DijkstraIn.txt " ;
 77      void  test() {
 78          int  i,v,w,root;  double  l;
 79          in (g.v);  in (g.e);  in (root);
 80         g.clear();
 81          for (i = 0 ; i < g.e; i ++ ) {
 82              in (v);  in (w);  in (l);
 83             g.a[v][w] = l;
 84         }

 85 //         show(g.a, g.v, g.v,'\t');
 86         spt(root);
 87 //         printf("ID:     0 1 2 3 4 5\n");
 88         printf( " parent:  " ); show(st,g.v);
 89         printf( " weight:  " ); show(wt,g.v);
 90     }

 91 }

 92
 93 namespace  FloydNS { // V^3
 94      char  file[] = " FloydIn.txt " ;
 95      void  test() {
 96          int  i,v,w;  double  l;
 97          in (g.v);  in (g.e);
 98         g.clear();
 99          for (i = 0 ; i < g.e; i ++ ) {
100              in (v);  in (w);  in (l);
101             g.a[v][w] = l;
102         }

103 //         show(g.a, g.v, g.v,'\t');
104         floyd();
105 //         printf("ID:     0 1 2 3 4 5\n");
106         printf( " distance matrix:\n " ); 
107         show(d,g.v,g.v);
108         printf( " path matrix:\n " ); 
109         show(p,g.v,g.v);
110     }

111 }

112
113 namespace  TenshiNS {
114      char  file[] = " tenshiIn.txt " ;
115      void  test() {
116          int  i,v,w,e;
117          in (xv);  in (yv);  in (e);
118         init();
119          for (i = 0 ; i < e; i ++ ) {
120              in (v);  in (w); 
121             g[v][w] = 1 ;
122         }

123         printf( " 匹配数: %d\n " , tenshi()); 
124         printf( " X匹配项: " );
125         show(xm,xv);
126         printf( " \nY匹配项: " ); 
127         show(ym,yv);
128         putchar( ' \n ' );
129     }

130 }

131
132 void  main() {
133     freopen(file, " r " ,stdin);
134      while ( ! feof(stdin)) test();
135 }

136
137
posted on 2006-07-07 17:53 踏雪赤兔 阅读(686) 评论(0)  编辑 收藏 引用 所属分类: 零件仓库速查手册
只有注册用户登录后才能发表评论。

百度空间| 见闻日记| 编程感悟
我的twitter


LOGO

自我介绍:百度厂基础平台车间的一名挨踢民工。擅长C++、算法、语言设计、分布式计算,也用过Java,Python, PHP,JS/AS等语言开发。请关注我的twitter (免翻墙版) 发QQ消息


添加到收藏夹 Locations of visitors to this page

常用链接

随笔分类(300)

随笔档案(274)

文章分类(38)

相册

收藏夹(54)

与博主互动

博客手拉手

搜索

  •  

积分与排名

  • 积分 - 453300
  • 排名 - 9

最新评论

阅读排行榜

评论排行榜