Cerința
Se dau cele n-1
muchii ale unui arbore cu n
noduri și un nod k
. Afișați vectorul de tați al arborelui cu rădăcina în k
.
Date de intrare
Fișierul de intrare arbore.in
conține pe prima linie numerele n k
, Următoarele n-1
linii vor conține câte o pereche i j
, reprezentând muchiile arborelui.
Date de ieșire
Fișierul de ieșire arbore.out
va conține pe prima linie elementele vectorului de tați al arborelui cu rădăcina în k
, separate printr-un spațiu.
Restricții și precizări
1 ≤ n ≤ 100
1 ≤ k ≤ n
- în vectorul de tați rădăcina este marcată cu
0
Exemplu
arbore.in
7 4 1 2 1 4 1 7 3 7 5 7 6 7
arbore.out
4 1 7 0 7 7 1
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Arbore:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("arbore.in");
ofstream fout("arbore.out");
int n , k , a[105][105], t[105], v[105];
void dfs(int k , int tata)
{
v[k] = 1, t[k] = tata;
for(int i = 1 ; i <= n ; ++i)
if(v[i] == 0 && a[k][i] == 1)
dfs(i , k);
}
int main()
{
fin >> n >> k;
for(int p = 1 ; p < n ; p ++)
{
int i , j;
fin >> i >> j;
a[i][j] = a[j][i] = 1;
}
dfs(k , 0);
for(int i = 1 ; i <= n ; ++i)
fout << t[i] << " ";
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #636 Arbore
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #636 Arbore de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!