Примеры
3
3
1 2
2 3
1 3
2
1 2
1 2
4
3
1 2
1 4
4 2
1
3
2
Мой код:
#include <iostream>
#include <vector>
#include <fstream>
#define forn(i,n)for(int i=0; i<n;i++)
using namespace std;
int n, m, x, y;
vector<vector<int>> g;
vector<bool> used;
vector<int> comp;
vector<int> index;
void DFS(int v)
{
used[v] = true;
comp.push_back(v);
for (int i = 0; i<g[v].size(); ++i)
{
int to = g[v][i];
if (!used[to])
DFS(to);
}
}
int main()
{
int compon = 0;
int k;
int w;
cin >> n;
n++;
cin >> m;
used.resize(n);
g.resize(n);
forn(i, m)
{
cin >> x >> y;
index.push_back(x);
index.push_back(y);
g[x].push_back(y);
g[y].push_back(x);
}
cin >> k;
for (int r = 0; r < k; r++) {
cin >> w;
for (int r = 0; r < m*2; r++) {
if (r == w) {
w=w-1;
index.erase((index.begin()+ w));
w++;
index.erase((index.begin()+ w));
}
}
for (int i = 0; i < used.size() ; i++)
used[i] = false;
for (int i = 0; i < used.size(); i++)
if (!used[i])
{
comp.clear();
DFS(index[i]);
compon++;
}
cout << compon << " ";
}
}
С примерами работает правильно, а в следующем тесте. Ошибка при работе с памятью. Как исправить?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Почему лучше вызывать константный operator[] из не константного operator[] а не наоборотЯ не вижу разницы между этими двумя способами
Перед тем, как задать switch, я пишу int a, дабы задать switch (a)
Не могу решить эту задачу (проходит 10 из 12 проверок): Задача №33
Не получается задать движение шаров в функции update():