Maruf_Hasan

Sazed_Assignment

Nov 11th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. 1.
  2. #include<stdio.h>
  3. #include<bits/stdc++.h>
  4. using namespace std;
  5.  
  6. vector<int>adj[10000];
  7. bool visited[10000];
  8. int dis[10000];
  9.  
  10. int bfs(int s,int desti)
  11. {
  12. queue<int>q;
  13. q.push(s);
  14. visited[s]=true;
  15. dis[s]=0;
  16. while(!q.empty())
  17. {
  18. int u=q.front();
  19. q.pop();
  20. // cout<<u<<" ";
  21. for(int i=0;i<adj[u].size();i++)
  22. {
  23. if(visited[adj[u][i]]==false)
  24. {
  25. int v=adj[u][i];
  26. visited[v]=true;
  27. dis[v]=dis[u]+1;
  28. q.push(v);
  29. }
  30. }
  31. }
  32. return dis[desti];
  33. // cout<<endl;
  34. }
  35.  
  36.  
  37. int main()
  38. {
  39. int n,e,i,x,y;
  40. scanf("%d %d",&n,&e);
  41. for(i=0;i<e;i++)
  42. {
  43. cin>>x>>y;
  44. adj[x].push_back(y);
  45. adj[y].push_back(x);
  46. }
  47. int desti;
  48. cin>>desti;
  49. int ans=bfs(0,desti);
  50. cout<<ans<<endl;
  51. return 0;
  52. }
  53.  
  54.  
  55.  
  56. *********************************************************
  57. 2.
  58.  
  59.  
  60. #include<stdio.h>
  61. #include<bits/stdc++.h>
  62. using namespace std;
  63.  
  64. vector<int>adj[10000];
  65. bool visited[10000];
  66. int dis[10000];
  67.  
  68. int bfs(int s,int desti)
  69. {
  70. queue<int>q;
  71. q.push(s);
  72. visited[s]=true;
  73. dis[s]=0;
  74. while(!q.empty())
  75. {
  76. int u=q.front();
  77. q.pop();
  78. // cout<<u<<" ";
  79. for(int i=0;i<adj[u].size();i++)
  80. {
  81. if(visited[adj[u][i]]==false)
  82. {
  83. int v=adj[u][i];
  84. visited[v]=true;
  85. dis[v]=dis[u]+1;
  86. q.push(v);
  87. }
  88. }
  89. }
  90. return dis[desti];
  91. // cout<<endl;
  92. }
  93.  
  94.  
  95. int main()
  96. {
  97. int n,e,i,x,y;
  98. scanf("%d %d",&n,&e);
  99. for(i=0;i<e;i++)
  100. {
  101. cin>>x>>y;
  102. adj[x].push_back(y);
  103. adj[y].push_back(x);
  104. }
  105. int lina,nora,lara;
  106. cin>>lina>>nora>>lara;
  107. int ans1=bfs(nora,lina);
  108. memset(dis,0,sizeof dis);
  109. memset(visited,false,sizeof visited);
  110. int ans2=bfs(lara,lina);
  111. if(ans1<ans2)
  112. {
  113. cout<<"Nora"<<endl;
  114. }
  115. else if(ans1==ans2)
  116. {
  117. cout<<"Both"<<endl;
  118. }
  119. else
  120. {
  121. cout<<"Lara"<<endl;
  122. }
  123.  
  124. return 0;
  125. }
  126.  
  127. ***********************************************************
  128. 3.
  129.  
  130.  
  131. #include<stdio.h>
  132. #include<bits/stdc++.h>
  133. using namespace std;
  134.  
  135. vector<int>adj[10000];
  136. bool visited[10000];
  137. int dis[10000];
  138.  
  139. void bfs(vector<int>sources)
  140. {
  141. queue<int>q;
  142. for(int i=0;i<sources.size();i++)
  143. {
  144. int s=sources[i];
  145. q.push(s);
  146. visited[s]=true;
  147. dis[s]=0;
  148. }
  149.  
  150. while(!q.empty())
  151. {
  152. int u=q.front();
  153. q.pop();
  154. // cout<<u<<" ";
  155. for(int i=0;i<adj[u].size();i++)
  156. {
  157. if(visited[adj[u][i]]==false)
  158. {
  159. int v=adj[u][i];
  160. visited[v]=true;
  161. dis[v]=dis[u]+1;
  162. q.push(v);
  163. }
  164. }
  165. }
  166. return ;
  167. }
  168.  
  169.  
  170. int main()
  171. {
  172. int n,e,i,x,y;
  173. scanf("%d %d",&n,&e);
  174. for(i=0;i<e;i++)
  175. {
  176. cin>>x>>y;
  177. adj[x].push_back(y);
  178. }
  179.  
  180. int desti;
  181. cin>>desti;
  182. int n_source;
  183. cin>>n_source;
  184. vector<int>sources;
  185. for(int i=0;i<n_source;i++)
  186. {
  187. int x;
  188. cin>>x;
  189. sources.push_back(x);
  190. }
  191. bfs(sources);
  192. cout<<dis[desti]<<endl;
  193. return 0;
  194. }
  195.  
  196.  
  197.  
  198. **********************************************************
  199. 4.
  200.  
  201. #include<stdio.h>
  202. #include<bits/stdc++.h>
  203. using namespace std;
  204.  
  205. vector<int>adj[10000];
  206. int visited[10000];
  207. int dis[10000];
  208. int start_time[10000];
  209. int finish_time[10000];
  210. int Time=1;
  211.  
  212. void dfs(int source)
  213. {
  214. visited[source]=1;
  215.  
  216. start_time[source]=Time;
  217. Time++;
  218. for(int i=0;i<adj[source].size();i++)
  219. {
  220. int v=adj[source][i];
  221. if(visited[v]==0)
  222. {
  223. dfs(v);
  224. }
  225. }
  226. visited[source]=2;
  227. finish_time[source]=Time;
  228. Time++;
  229. return ;
  230. }
  231. int main()
  232. {
  233. int n,e,i,x,y;
  234. cin>>n>>e;
  235. for(int i=0;i<e;i++)
  236. {
  237. cin>>x>>y;
  238. adj[x].push_back(y);
  239. // adj[y].push_back(x);
  240. }
  241. for(int i=0;i<n;i++)
  242. {
  243. if(visited[i]==0)
  244. {
  245. dfs(i);
  246. }
  247. }
  248. vector<pair<int,int> >v;
  249. for(int i=0;i<n;i++)
  250. {
  251. v.push_back(make_pair(finish_time[i],i));
  252. }
  253. sort(v.begin(),v.end());
  254. reverse(v.begin(),v.end());
  255. cout<<v[0].second<<endl;
  256.  
  257. return 0;
  258. }
  259.  
  260.  
  261.  
  262.  
  263.  
Advertisement
Add Comment
Please, Sign In to add comment