欧卡2中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

需要三步,才能开始

只需两步,慢速开始

玩欧卡就用莱仕达V99方向盘欧卡2入门方向盘选莱仕达V9莱仕达折叠便携游戏方向盘支架欢迎地图Mod入驻
查看: 2946|回复: 0
收起左侧

Warshall算法

[复制链接]
:-(相见易得好久 发表于 2011-10-23 22:39 | 显示全部楼层 |阅读模式
#incluce"matrix.h"
 
#include<iostream>
 
using namespace std;
 
//输入矩阵
void getMat(int row,int col,int**p){
 cout<<"请输入矩阵:"<<endl;
 for(int i=0;i<row;i++)
  for(int j=0;j<col;j++)
  cin>>p[i][j];
}
 
//Warshall算法
#include"warshall.h"
#include"matrix.h"
#include<iostream>
using namespace std;
void Warshall(int row,int col,int **p){
 for(int j=0;j<col;j++){
  for(int i=0;i<row;i++){
   if(p[i][j]==1){
    for(int k=0;k<col;k++)
    p[i][k]=(p[i][k])|(p[j][k]);
   }
  }
 }
}
void get_Tr(int row,int col,int**p){
 Warshall(row,col,p);
 cout<<"其t(R)为:"<<endl;
 for(int i=0;i<row;i++){
  for(int j=0;j<col;j++)
   cout<<p[i][j]<<'\t';
  cout<<endl;
 }
}
//判断图是否连通
void Connection(int row,int col,int **p){
 getMat(row,col,p);
 get_Tr(row,col,p);
 int sum=0;
 for(int i=0;i<row;i++)
  for(int j=0;j<col;j++){
   if(p[i][j]!=1)
    sum++;
  }
  if(sum>0)
  cout<<"该图不是连通图"<<endl;
  else
   cout<<"该图是连通的"<<endl;
}
 
int main(){
 
    。。。。。。
 
    Conection(row,col,p);
 
    。。。。。。
 
}

联系我们|手机版|欧卡2中国 ( 湘ICP备11020288号-1 )

GMT+8, 2024-12-29 12:49 , Processed in 0.030860 second(s), 7 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表