class Solution {
public:
vector<int> adj[100004];
long long int go(int cur, int prev, vector<bool>& hasApple){
long long int ret = 0;
for(auto nxt: adj[cur]){
if(nxt == prev) continue;
long long int tmp = go(nxt, cur, hasApple);
if(tmp > 0) ret += (tmp + 2);
else if(hasApple[nxt]) ret += (tmp + 2);
}
return ret;
}
int minTime(int n, vector<vector<int>>& edges, vector<bool>& hasApple) {
for(int i = 0; i < n-1; i++){
adj[edges[i][0]].push_back(edges[i][1]);
adj[edges[i][1]].push_back(edges[i][0]);
}
return go(0, -1, hasApple);
}
};
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.