문제
N명의 사람이 1리터의 쥬스를 나누어 각자 잔에 따라서 마시고자 한다. 공평하게 쥬스를 나누기 위해 다음과 같은 방법으로 쥬스를 나눈다.
첫번째 사람이 원하는 만큼 한잔 따르고, 두번째 사람이 원하는 만큼 한잔 따르고, ..., N번째 사람이 남은만큼 한잔 따른다.
그 후 N번째 사람이 N개의 잔 중에 하나를 가져가고, N-1번째 사람이 남은 잔 중에 하나를 가져가고, 최종적으로 첫번째 사람이 마지막으로 남은 잔을 가져간다.
모든 사람은 목이 마른 상태이기 때문에, 최대한의 쥬스를 마시고자 최선의 전략을 쓴다고 가정하자.
이때 첫번째 사람부터 N번째 사람까지 각각 쥬스를 얼마씩 마시게 되는지 구하는 문제.
풀이방법
문제가 길어서 착각할 수 있지만 결국 최선의 전략은 1/n로 쥬스를 나누는 것.
소스코드
package samsung;
import java.util.*;
public class s_5601 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
int n = sc.nextInt();
System.out.print("#" + t + " ");
for(int i = 0; i < n; i++) {
System.out.print("1/" + n + " ");
}
System.out.println();
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 3260. 두 수의 덧셈 (0) | 2020.02.23 |
---|---|
[SWEA] 5603. [Professional] 건초더미 (0) | 2020.02.22 |
[SWEA] 5549. 홀수일까 짝수일까 (0) | 2020.02.22 |
[SWEA] 5515. 2016년 요일 맞추기 (0) | 2020.02.22 |
[SWEA] 5431. 민석이의 과제 체크하기 (0) | 2020.02.22 |
댓글