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 |
|
|
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 |