반응형
import java.util.List;
import java.util.Scanner;
import java.util.Vector;
import java.util.Arrays;
public class Main {
static Result[] rss;
static class Result{
int rollsNum = 0;
int bonus_rollsNum = 0;
int rulesIndex = 4;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int cnt = sc.nextInt();
int[][] rolls = new int[cnt][4];
rss = new Result[cnt];
for(int i = 0; i < cnt; i++) {
for(int j = 0; j < 4; j++) {
rolls[i][j] = sc.nextInt();
}
int dobuleCnt = 0;
Result rs = new Result();
for(int j = 0; j < 4; j++) {
int sameCnt = 0;
for(int k = j + 1; k < 4; k++) {
if(rolls[i][j] == rolls[i][k]) {
sameCnt++;
}
}
if(sameCnt == 1) dobuleCnt++;
rs.rollsNum = (rs.rollsNum < sameCnt) || (rs.rulesIndex == 4 && rs.rollsNum < rolls[i][j]) ? rolls[i][j] : rs.rollsNum;
rs.rulesIndex = rs.rulesIndex > Judge(sameCnt, dobuleCnt) ? Judge(sameCnt, dobuleCnt) : rs.rulesIndex;
rs.bonus_rollsNum = dobuleCnt == 2 ? rolls[i][j] : rs.bonus_rollsNum;
if(dobuleCnt == 2) dobuleCnt = 0;
}
rss[i] = rs;
}
int rs = 0;
for(int i = 0; i < rss.length; i++) {
rs = rs < caclulateRs(rss[i]) ? caclulateRs(rss[i]) : rs;
}
System.out.println(rs);
}
static int caclulateRs(Result rsInfor) {
int rs = 0;
// System.out.printf("%d %d\n", rsInfor.rollsNum, rsInfor.bonus_rollsNum);
switch(rsInfor.rulesIndex) {
case 0:
rs = 50000 + rsInfor.rollsNum * 5000;
break;
case 1:
rs = 10000 + rsInfor.rollsNum * 1000;
break;
case 2:
rs = 2000 + rsInfor.rollsNum * 500 + rsInfor.bonus_rollsNum * 500;
break;
case 3:
rs = 1000 + rsInfor.rollsNum * 100;
break;
case 4:
rs = rsInfor.rollsNum * 100;
break;
}
// System.out.println(rs);
return rs;
}
static int Judge(int sameCnt, int doubleCnt) {
int ruleCnt = 4;
switch(sameCnt) {
case 3:
ruleCnt = 0;
break;
case 2:
ruleCnt = 1;
break;
case 1:
if(doubleCnt == 2) ruleCnt = 2;
else ruleCnt = 3;
break;
}
return ruleCnt;
}
}
반응형
'프로그래밍 > 코드업 일기' 카테고리의 다른 글
코드업(CodeUp) 4721 : 투표 (0) | 2023.08.11 |
---|---|
코드업(Codeup) 3015 : 성적표 출력 (실패) (0) | 2023.08.10 |
코드업(Codeup) 4566 : 소수 (0) | 2023.08.10 |
코드업(Codeup) 4051 : 시간외 근무 수당 (0) | 2023.08.10 |
코드업(Codeup) 4041 : 숫자 다루기 (0) | 2023.08.10 |