Skip to content

Commit 1fadff5

Browse files
authored
[20251016] BOJ / G4 / 최고의 팀 만들기 / 이인희
1 parent 4301d2b commit 1fadff5

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
```java
2+
import java.io.*;
3+
import java.util.*;
4+
5+
public class Main {
6+
public static void main(String[] args)throws IOException{
7+
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
8+
List<int[]> arrs = new ArrayList<>();
9+
String line;
10+
while(true){
11+
line = br.readLine();
12+
if("".equals(line) || line == null){
13+
break;
14+
}
15+
StringTokenizer st=new StringTokenizer(line);
16+
int w=Integer.parseInt(st.nextToken());
17+
int b=Integer.parseInt(st.nextToken());
18+
arrs.add(new int[]{w,b});
19+
}
20+
21+
int n = arrs.size();
22+
// dp[i][j][k] = i번째 멤버까지 보았을때, 백을 j명 뽑았고, 흑을 k명 뽑았을때의 최대 점수 합
23+
int[][][] dp = new int[n+1][16][16];
24+
for(int i=1; i<=n; i++){
25+
int w = arrs.get(i-1)[0];
26+
int b = arrs.get(i-1)[1];
27+
for(int j=0; j<=15; j++){
28+
for(int k=0; k<=15; k++){
29+
dp[i][j][k] = dp[i-1][j][k];
30+
if(j > 0)
31+
dp[i][j][k] = Math.max(dp[i][j][k], dp[i-1][j-1][k] + w);
32+
if(k > 0)
33+
dp[i][j][k]= Math.max(dp[i][j][k], dp[i-1][j][k-1] + b);
34+
}
35+
}
36+
//System.out.println(dp[i][w][b]);
37+
}
38+
System.out.println(dp[n][15][15]);
39+
}
40+
}
41+
42+
```

0 commit comments

Comments
 (0)