Conversation
|
Ссылка на Яндекс.Контест https://contest.yandex.ru/contest/15957/run-report/28447061/ |
12/main.cpp
Outdated
| const int V; | ||
| void add_edge( int v, int w ); | ||
| vector<int> get_bridges(); | ||
| vector<int> bridges; |
There was a problem hiding this comment.
Странно делать все эти поля публичными - это раз.
А потом давай не будем класс засорять ненужными ему полями. Создавать доп.массивы нужно в алгоритме, потом удалять
12/main.cpp
Outdated
| } | ||
|
|
||
| vector<int> Graph::get_bridges() { | ||
| bool *visited = new bool[V]; |
There was a problem hiding this comment.
давай уже использовать либо везде векторы, либо везде простые массивы
12/main.cpp
Outdated
| static int time = 0; | ||
| visited[u] = true; | ||
| disc[u] = low[u] = ++time; | ||
| list<int>::iterator i; |
There was a problem hiding this comment.
почему это объявлено вне цикла?
| }; | ||
| const int V; | ||
| void add_edge( int v, int w ); | ||
| vector<int> get_bridges(); |
There was a problem hiding this comment.
Будет ли работать повторный вызов?
There was a problem hiding this comment.
Не будет. Потому что вектор bridges заполнен мостами с предыдущего вызова.
|
|
||
| void Graph::get_bridges_util(int u, bool* visited, int* disc, | ||
| int* low, int* parent) { | ||
| void Graph::get_bridges_util(int u, vector<bool>& visited, vector<int>& disc, |
There was a problem hiding this comment.
когда параметров много, можно их отдельную структуру объединить
| g.add_edge(v-1, w-1); | ||
| } | ||
| vector<int> bridges = g.get_bridges(); | ||
| vector<int>&& bridges = g.get_bridges(); |
There was a problem hiding this comment.
не так не правильно)
Ты же обычный объект получаешь, а не временный)
No description provided.