Warshall算法C++实现

来源:互联网 发布:lua调用java 编辑:程序博客网 时间:2024/06/06 01:14
#include "iostream"#ifndef MAXSIZE#define MAXSIZE 1000#endifusing namespace std;int matrix[MAXSIZE][MAXSIZE];int size;void getT(){cout<<"Input the element amounts:";cin>>size;cout<<"Input the matrix:"<<endl;for (int i=0;i<size;i++){for (int j=0;j<size;j++){cin>>matrix[i][j];}}for (int i=0;i<size;i++){for(int j=0;j<size;j++){if(matrix[i][j]==1)for(int k=0;k<size;k++){if(matrix[k][i])matrix[k][j]=1;}}}}int main(int argc, char const *argv[]){getT();cout<<endl<<"Result:"<<endl;for (int i=0;i<size;i++){for (int j=0;j<size;j++){cout<<matrix[i][j]<<" ";}cout<<endl;}}
判断顺序很重要,扫描二元关系后项,判断前项,这样不会有漏网之鱼
0 0