formatting source-code for d7af6fdc8c

This commit is contained in:
github-actions
2020-05-29 23:26:30 +00:00
parent edb3d51ec2
commit 7ad1f171c1
176 changed files with 5342 additions and 4288 deletions

View File

@@ -4,28 +4,34 @@
* Last Modified Date: May 24, 2020
*
*/
#include <vector> // for std::vector
#include <algorithm> // for min & max
#include <iostream> // for cout
using std::vector;
#include <iostream> // for cout
#include <vector> // for std::vector
using std::cout;
using std::min;
class Solution {
vector < vector < int > > graph;
vector<int>in_time , out_time;
using std::vector;
class Solution
{
vector<vector<int>> graph;
vector<int> in_time, out_time;
int timer;
vector < vector < int > > bridge;
vector<bool>visited;
void dfs(int current_node , int parent) {
vector<vector<int>> bridge;
vector<bool> visited;
void dfs(int current_node, int parent)
{
visited.at(current_node) = true;
in_time[current_node] = out_time[current_node] = timer++;
for ( auto&itr : graph[current_node] ) {
if (itr == parent) {
for (auto& itr : graph[current_node])
{
if (itr == parent)
{
continue;
}
if (!visited[itr]) {
dfs(itr , current_node);
if (out_time[itr] > in_time[current_node]) {
if (!visited[itr])
{
dfs(itr, current_node);
if (out_time[itr] > in_time[current_node])
{
bridge.push_back({itr, current_node});
}
}
@@ -34,14 +40,16 @@ class Solution {
}
public:
vector <vector <int> > search_bridges(int n,
const vector<vector<int>>& connections) {
vector<vector<int>> search_bridges(int n,
const vector<vector<int>>& connections)
{
timer = 0;
graph.resize(n);
in_time.assign(n, 0);
visited.assign(n, false);
out_time.assign(n, 0);
for (auto&itr : connections) {
for (auto& itr : connections)
{
graph.at(itr[0]).push_back(itr[1]);
graph.at(itr[1]).push_back(itr[0]);
}
@@ -49,10 +57,11 @@ class Solution {
return bridge;
}
};
int main(void) {
int main(void)
{
Solution s1;
int number_of_node = 5;
vector< vector <int> >node;
vector<vector<int>> node;
node.push_back({0, 1});
node.push_back({1, 3});
node.push_back({1, 2});
@@ -66,13 +75,14 @@ int main(void) {
* 3 4
*
* In this graph there are 4 bridges [0,2] , [2,4] , [3,5] , [1,2]
*
*
* I assumed that the graph is bi-directional and connected.
*
*/
vector< vector <int> > bridges = s1.search_bridges(number_of_node , node);
vector<vector<int>> bridges = s1.search_bridges(number_of_node, node);
cout << bridges.size() << " bridges found!\n";
for (auto&itr : bridges) {
for (auto& itr : bridges)
{
cout << itr[0] << " --> " << itr[1] << '\n';
}
return 0;