Maruf_Hasan

dominator ordhek

Jan 31st, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define M 1000
  4. vector<int>adj[M];
  5. bool visited[M];
  6.  
  7. void bfs(int s)
  8. {
  9. visited[s]=true;
  10. queue<int>q;
  11. q.push(s);
  12. while(!q.empty())
  13. {
  14. int u=q.front();
  15. q.pop();
  16. for(int i=0;i<adj[u].size();i++)
  17. {
  18. if(visited[adj[u][i]]==false)
  19. {
  20. int v=adj[u][i];
  21. // cout<<v<<endl;
  22. visited[v]=true;
  23. q.push(v);
  24. }
  25. }
  26. }
  27.  
  28. }
  29.  
  30. int main()
  31. {
  32. int t;
  33. cin>>t;
  34. while(t--)
  35. {
  36. int n,i,j;
  37. scanf("%d",&n);
  38. //int a[n+5][n+5];
  39. for(i=0;i<n;i++)
  40. {
  41. for(j=0;j<n;j++)
  42. {
  43. int k;
  44. cin>>k;
  45. if(k==1){
  46. adj[i].push_back(j);
  47.  
  48. }
  49. }
  50. }
  51. vector<int>v[105];
  52. int a[105][105];
  53. for(j=1;j<n;j++)
  54. {
  55. //cout<<j<<endl;
  56. memset(visited,false,sizeof visited);
  57. visited[j]=true;
  58. bfs(0);
  59. for(i=0;i<n;i++)
  60. {
  61. if(visited[i]==false)
  62. {
  63. v[j].push_back(i);
  64. a[j][i]=1;
  65. }
  66. }
  67. }
  68. for(i=0;i<n;i++)
  69. {
  70. a[0][i]=1;
  71. }
  72. for(i=1;i<n;i++)
  73. {
  74. a[i][i]=1;
  75. }
  76. for(i=0;i<n;i++)
  77. {
  78. for(j=0;j<n;j++)
  79. {
  80. cout<<a[i][j]<<" ";
  81.  
  82. }
  83. cout<<endl;
  84. }
  85.  
  86.  
  87. }
  88. return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment