Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int a[101][101], n, nrc, viz[101], x[101];
- ifstream fin ("componenteconexe1.in");
- ofstream fout ("componenteconexe1.out");
- void Citire()
- {
- int i, j;
- fin >> n;
- while (fin >> i >> j)
- a[i][j] = a[j][i] = 1;
- fin.close();
- }
- void DFS(int k)
- {
- viz[k] = 1;
- for (int i = 1; i <= n; i++)
- if (!viz[i] && a[k][i])
- DFS(i);
- }
- void Rezolvare()
- {
- DFS(1);
- int i, nr = 0;
- for (i = 2; i <= n; i++)
- if (!viz[i])
- {
- nr++;
- x[i] = i;
- DFS(i);
- }
- fout << nr << "\n";
- for (i = 1; i <= n; i++)
- if (x[i] == i) fout << "1 " << x[i] << "\n";
- }
- int main()
- {
- Citire();
- Rezolvare();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement