Submission #1124077


Source Code Expand

#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
#include <iomanip>
using namespace std;
using ll = long long;

constexpr ll M = 1e9+7;

int dfs(vector<vector<int>>& g, int v, vector<bool>& used, vector<bool>& dia) {
    used[v] = true;
    int res = 0;
    for(int i=0; i<g[v].size(); ++i) {
        if(!used[g[v][i]]) {
            int t = dfs(g, g[v][i], used, dia);
            if(t > 0) {
                res += 2 + (t == 1 ? 0 : t);
            }
        }
    }
    return (res == 0 && dia[v] ? 1 : res);
}

int main() {
    int n, x;
    cin >> n >> x;
    x--;
    vector<vector<int>> g(n);
    vector<bool> dia(n, false);
    for(int i=0; i<n; ++i) {
        int h; cin >> h;
        dia[i] = (h == 1);
    }
    dia[x] = false;
    for(int i=0; i<n-1; ++i) {
        int a, b;
        cin >> a >> b;
        a--; b--;
        g[a].push_back(b);
        g[b].push_back(a);
    }
    vector<bool> used(n, false);
    cout << dfs(g, x, used, dia) << endl;
}

Submission Info

Submission Time
Task B - ツリーグラフ
User Suibaka
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1036 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