Submission #1628224


Source Code Expand

#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <math.h>
#include <cmath>
#include <limits.h>
#include <map>
#include <set>
#include <queue>
#include <algorithm>
#include <functional>
#include <stdio.h>
using namespace std;

long long MOD = 1000000007;


vector<int> H;
vector<int> X;
vector< vector<int> > P;

int dfs( int v, int p ) {
    
    for ( int i = 0; i < P[v].size(); i++ ) {        
        if ( p != P[v][i] && dfs( P[v][i], v ) ) { X[v] = 1; }
    }
    if ( H[v] ) { X[v] = 1; }
    
    return X[v];
}


int main() {
    
    int n,x;
    cin >> n >> x;
    x--;
    
    H.resize(n);
    X.resize(n);
    P.resize(n);
    
    for ( int i = 0; i < n; i++ ) {
        cin >> H[i];
    }
    
    for ( int i = 0; i < n-1; i++ ) {
        int a,b;
        cin >> a >> b;
        a--; b--;
        P[a].push_back(b);
        P[b].push_back(a);
    }
    
    dfs( x, -1 );
    
    int count = 0;
    for ( int i = 0; i < n; i++ ) {
        if ( i != x && X[i] ) { count++; }
    }
    
    cout << count*2 << endl;
    
    return 0;
}

Submission Info

Submission Time
Task B - ツリーグラフ
User tetsuzuki1115
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1152 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 20
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_line01.txt, subtask1_line02.txt, subtask1_line03.txt, subtask1_line04.txt, subtask1_line05.txt, subtask1_line06.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt, subtask1_random05.txt, subtask1_random06.txt, subtask1_random07.txt, subtask1_random08.txt, subtask1_special01.txt, subtask1_special02.txt, subtask1_special03.txt, subtask1_special04.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 1 ms 256 KB
subtask0_sample_02.txt AC 1 ms 256 KB
subtask1_line01.txt AC 1 ms 256 KB
subtask1_line02.txt AC 1 ms 256 KB
subtask1_line03.txt AC 1 ms 256 KB
subtask1_line04.txt AC 1 ms 256 KB
subtask1_line05.txt AC 1 ms 256 KB
subtask1_line06.txt AC 1 ms 256 KB
subtask1_random01.txt AC 1 ms 256 KB
subtask1_random02.txt AC 1 ms 256 KB
subtask1_random03.txt AC 1 ms 256 KB
subtask1_random04.txt AC 1 ms 256 KB
subtask1_random05.txt AC 1 ms 256 KB
subtask1_random06.txt AC 1 ms 256 KB
subtask1_random07.txt AC 1 ms 256 KB
subtask1_random08.txt AC 1 ms 256 KB
subtask1_special01.txt AC 1 ms 256 KB
subtask1_special02.txt AC 1 ms 256 KB
subtask1_special03.txt AC 1 ms 256 KB
subtask1_special04.txt AC 1 ms 256 KB