Submission #286735
Source Code Expand
#include<iostream> #include<sstream> #include<cstdio> #include<cstring> #include<algorithm> #include<string> #include<vector> #include<cmath> #include<set> #include<map> #include<stack> #include<queue> #include<numeric> #include<functional> #include<complex> #include<cassert> using namespace std; #define BET(a,b,c) ((a)<=(b)&&(b)<(c)) #define FOR(i,n) for(int i=0;i<(int)(n);i++) #define SZ(x) (int)(x.size()) #define ALL(x) (x).begin(),(x).end() #define MP make_pair #define CLS(x,val) memset((x) , val , sizeof(x)) #define FOR_EACH(it,v) for(__typeof(v.begin()) it=v.begin(),it_end=v.end() ; it != it_end ; it++) typedef long long ll_t; typedef long double ld_t; typedef vector<int> VI; typedef vector<VI> VVI; typedef complex<int> xy; VVI adj; int h[111]; pair<int,int> dfs(int pos, int pre){ int val = 0; int starNum = 0; if(h[pos]) starNum = 1; for(auto next : adj[pos]){ if(next == pre) continue; auto sub = dfs(next, pos); if(sub.second == 0) continue; val += sub.first + 2; starNum += sub.second; } return MP(val, starNum); } int main() { int n,x; cin>>n>>x; FOR(i,n) cin>>h[i]; adj.resize(n); FOR(i,n-1){ int a,b; cin>>a>>b; a--; b--; adj[a].push_back(b); adj[b].push_back(a); } cout<<dfs(x-1, -1).first<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - ツリーグラフ |
User | EmK |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 1441 Byte |
Status | AC |
Exec Time | 23 ms |
Memory | 928 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 | 804 KB |
subtask0_sample_02.txt | AC | 22 ms | 788 KB |
subtask1_line01.txt | AC | 22 ms | 800 KB |
subtask1_line02.txt | AC | 22 ms | 736 KB |
subtask1_line03.txt | AC | 23 ms | 924 KB |
subtask1_line04.txt | AC | 23 ms | 916 KB |
subtask1_line05.txt | AC | 22 ms | 808 KB |
subtask1_line06.txt | AC | 23 ms | 736 KB |
subtask1_random01.txt | AC | 23 ms | 924 KB |
subtask1_random02.txt | AC | 23 ms | 800 KB |
subtask1_random03.txt | AC | 22 ms | 676 KB |
subtask1_random04.txt | AC | 23 ms | 800 KB |
subtask1_random05.txt | AC | 22 ms | 796 KB |
subtask1_random06.txt | AC | 23 ms | 804 KB |
subtask1_random07.txt | AC | 22 ms | 804 KB |
subtask1_random08.txt | AC | 21 ms | 920 KB |
subtask1_special01.txt | AC | 23 ms | 928 KB |
subtask1_special02.txt | AC | 22 ms | 804 KB |
subtask1_special03.txt | AC | 22 ms | 676 KB |
subtask1_special04.txt | AC | 23 ms | 792 KB |