알고리즘 공부/문제 풀이
[JAVA] 백준 16438 원숭이 스포츠
valid_ming
2021. 10. 14. 22:32
https://www.acmicpc.net/problem/16438
16438번: 원숭이 스포츠
승민이는 동물원의 원숭이들을 관리하는 사육사입니다. 이 동물원에는 N마리의 원숭이들이 있고 원숭이들에게 1번부터 N번까지 번호를 붙였습니다. 7일간 동물원에서 원숭이들끼리 스포츠 경기
www.acmicpc.net


import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
monkeys = new char[7][N];
StringBuilder sb = new StringBuilder();
for(int i=0;i<N;i++) sb.append('A');
make(0, N-1, 0);
for(int i=0;i<7;i++){
String str = new String(monkeys[i]);
if(str.equals(sb.toString())){
str = str.substring(1);
str += "B";
}
System.out.println(str);
}
}
static char[][] monkeys;
static int cnt = 0;
public static void make(int start, int end, int layer){
if(layer==7){
cnt++;
return;
}
int mid = (start+end)/2;
for(int i=start;i<=mid;i++) monkeys[layer][i] = 'A';
for(int i=mid+1;i<=end;i++) monkeys[layer][i] = 'B';
make(start, mid, layer+1);
make(mid+1, end, layer+1);
}
}