Submission #757595
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i)) #define each(itr,c) for(__typeof(c.begin()) itr=c.begin(); itr!=c.end(); ++itr) #define all(x) (x).begin(),(x).end() #define mp make_pair #define pb push_back #define fi first #define se second int n,x; int h[100]; vector<int> G[100]; //その頂点を訪れるべきかどうか int vis[100]={0}; int dfs(int now, int p) { int ret=0; if(h[now]) ret=1; rep(i,G[now].size()) { int nx=G[now][i]; if(nx==p) continue; ret|=dfs(nx,now); } return vis[now]=ret; } int main() { cin >>n >>x; --x; rep(i,n) cin >>h[i]; rep(i,n-1) { int a,b; cin >>a >>b; --a; --b; G[a].pb(b); G[b].pb(a); } int tmp=dfs(x,x); //rep(i,n) printf("vis %d = %d\n",i+1,vis[i]); int ans=0; int v[100]={0}; queue<int> que; que.push(x); v[x]=1; while(!que.empty()) { int p=que.front(); que.pop(); rep(i,G[p].size()) { int nx=G[p][i]; if(nx==p) continue; if(vis[nx] && !v[nx]) { v[nx]=1; que.push(nx); ans+=2; } } } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - ツリーグラフ |
User | imulan |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 1440 Byte |
Status | AC |
Exec Time | 46 ms |
Memory | 2048 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 | 46 ms | 1928 KB |
subtask0_sample_02.txt | AC | 37 ms | 1904 KB |
subtask1_line01.txt | AC | 37 ms | 1940 KB |
subtask1_line02.txt | AC | 37 ms | 1948 KB |
subtask1_line03.txt | AC | 36 ms | 2048 KB |
subtask1_line04.txt | AC | 35 ms | 1944 KB |
subtask1_line05.txt | AC | 36 ms | 1944 KB |
subtask1_line06.txt | AC | 35 ms | 2032 KB |
subtask1_random01.txt | AC | 34 ms | 1940 KB |
subtask1_random02.txt | AC | 36 ms | 1948 KB |
subtask1_random03.txt | AC | 35 ms | 1900 KB |
subtask1_random04.txt | AC | 33 ms | 1904 KB |
subtask1_random05.txt | AC | 35 ms | 2036 KB |
subtask1_random06.txt | AC | 33 ms | 1948 KB |
subtask1_random07.txt | AC | 37 ms | 1936 KB |
subtask1_random08.txt | AC | 35 ms | 1940 KB |
subtask1_special01.txt | AC | 35 ms | 1912 KB |
subtask1_special02.txt | AC | 35 ms | 1940 KB |
subtask1_special03.txt | AC | 36 ms | 1904 KB |
subtask1_special04.txt | AC | 34 ms | 1940 KB |