Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 16437] 양 구출 작전 본문
반응형
입력값들로 트리를 만들어 후위 순회를 한다.
늑대의 수 - 양의 수가 음수가 될때를 주의해주어야 한다.
public class Main {
static ArrayList<Integer> a[];
static char sw[];
static int score[];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
a = new ArrayList[n+1];
sw = new char[n+1];
score = new int[n+1];
for(int i=0; i<n+1; i++)
a[i] = new ArrayList<Integer>();
for(int i=2; i<n+1; i++) {
char t[] = sc.next().toCharArray();
int s = sc.nextInt();
int p = sc.nextInt();
sw[i] = t[0];
score[i] = s;
a[p].add(i);
}
System.out.println(postOrder(1));
}
public static long postOrder(int node) {
long sum = 0;
for(int next : a[node]) {
sum += postOrder(next);
}
if(sw[node] == 'S') return sum + score[node];
else return (sum - score[node] >= 0) ? sum - score[node] : 0;
}
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 1269] 대칭 차집합 (0) | 2019.05.28 |
---|---|
[백준 4256] 트리 (0) | 2019.05.28 |
[백준 1068] 트리 (0) | 2019.05.27 |
[백준 4803] 트리 (0) | 2019.05.27 |
[백준 11725] 트리의 부모 찾기 (0) | 2019.05.27 |
Comments