Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- #include<vector>
- #define max_size 1000
- using namespace std;
- vector<int> g[max_size];
- int n,m;
- vector<int> t[max_size];
- void read()
- {
- ifstream in("file.txt");
- if(in.is_open())
- {
- in>>n>>m;
- for(int i=0;i<=n;i++)
- g[i].assign(n+1,0);
- int x,y;
- for(int i=0;i<m;i++)
- {
- in>>x>>y;
- g[x][y]=1;
- g[y][x]=1;
- }
- }
- else cout<<"unable to open the file\n";
- }
- void inchidere_tranzitiva()
- {
- for(int i=1;i<=n;i++)
- t[i].assign(n+1,0);
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- if(i==j || g[i][j]==1)
- t[i][j]=1;
- else
- t[i][j]=0;
- for(int k=1;k<=n;k++)
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- if(t[i][k]==1 && t[k][j]==1)
- t[i][j]=1;
- }
- void print_()
- {
- for(int i=1;i<=n;i++)
- {
- for(int j=1;j<=n;j++)
- cout<<t[i][j]<<" ";
- cout<<endl;
- }
- }
- int main()
- {
- read();
- inchidere_tranzitiva();
- print_();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement