Submission #286922


Source Code Expand

#include <algorithm>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <sstream>
#include <functional>
#include <map>
#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <set>
#include <list>
#include <numeric>
using namespace std;
const double PI = 3.14159265358979323846;
const double EPS = 1e-12;
const int INF = 1<<25;
typedef pair<int,int> P;
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vertex;
typedef vector<vertex> graph;
int n, x;
int h[100];
bool used[100];
graph g, f;

int dfs(int u){
	used[u] = true;
	int res = 0;
	for(int v: g[u]){
		if(used[v]) continue;
		res += dfs(v);
	}
	if(res||h[u]) res += 2;
	return res;
}

int main(){
	cin>>n>>x;
	x--;
	g = graph(n);
	f = graph(n);
	for(int i = 0; i < n; i++) cin>>h[i];
	h[x] = 0;
	for(int i = 0; i < n-1; i++){
		int a, b;
		cin>>a>>b;
		g[a-1].push_back(b-1);
		g[b-1].push_back(a-1);
	}
	int res = dfs(x);
	if(res) res-=2;
	/*
	used[x] = true;
	int mx = 0;
	for(int i = 1; !f[x].empty(); i++){
		x = f[x][0];
		int r = dfs(x);
		used[x] = true;
		if(r){
			res += r-2;
			mx = i;
		}
	}
	res += 2*mx;
	*/
	cout<<res<<endl;
	return 0;
}

Submission Info

Submission Time
Task B - ツリーグラフ
User Lepton
Language C++11 (GCC 4.8.1)
Score 100
Code Size 1336 Byte
Status AC
Exec Time 24 ms
Memory 932 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 21 ms 796 KB
subtask0_sample_02.txt AC 22 ms 924 KB
subtask1_line01.txt AC 23 ms 804 KB
subtask1_line02.txt AC 22 ms 804 KB
subtask1_line03.txt AC 22 ms 800 KB
subtask1_line04.txt AC 22 ms 928 KB
subtask1_line05.txt AC 23 ms 800 KB
subtask1_line06.txt AC 23 ms 924 KB
subtask1_random01.txt AC 24 ms 676 KB
subtask1_random02.txt AC 23 ms 732 KB
subtask1_random03.txt AC 22 ms 924 KB
subtask1_random04.txt AC 21 ms 924 KB
subtask1_random05.txt AC 22 ms 928 KB
subtask1_random06.txt AC 23 ms 924 KB
subtask1_random07.txt AC 22 ms 732 KB
subtask1_random08.txt AC 21 ms 932 KB
subtask1_special01.txt AC 22 ms 796 KB
subtask1_special02.txt AC 22 ms 804 KB
subtask1_special03.txt AC 22 ms 928 KB
subtask1_special04.txt AC 22 ms 676 KB