Cod sursa(job #1888572)

Utilizator FloareaCucura Floarea Ludovica Floarea Data 22 februarie 2017 10:58:24
Problema Cerere Scor 0
Compilator cpp Status done
Runda becreative21 Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("cerere.in");
ofstream fout("cerere.out");

const int maxn=100000;

vector<int>a[1+maxn];
bool viz[1+maxn];
int inteligent[1+maxn];
int k;

int dfs(int nod)
{   viz[nod]=1;
    for (int i=1; i<=a[nod].size();++i)
        if(inteligent[a[nod][i]]==0){
            return k;
             break;
        }

        else{   k++;
                dfs(a[nod][i]);
        }
}
int main()
{
    int n,  x, y,c, k=0;
    fin>>n;
    for(int i=1;i<=n; ++i)
    fin>>inteligent[i];
    for (int j=1;j<n;j++)
    {
        fin>>x>>y;
        a[x].push_back(y);
        a[y].push_back(x);
    }
    for(int i=1;i<=n;i++){
    dfs(i);
    fout<<k;
    }
    return 0;
}