문제 : boj24586
문제의 조건을 만족하는 경우를 직접 생각해보며 (신중히) 찾아보면 된다.
우선 입력으로 들어올 수 있는 문자열의 모든 경우를 살펴보면 아래와 같다.
그럼 각각의 경우에 A가 어떤 값이어야 'uniquely determine the two digits on Bob’s cards'라는 조건에 부합하는지 확인해보면 다음과 같다. 이유는 잘 생각해보면 알 수 있다! 저 경우에만 B를 확정적으로 예상할 수 있다.
코드 : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
private static boolean chk = false;
private void print(int a, int b) {
System.out.println(a + " " + b);
chk = true;
}
private void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int p = Integer.parseInt(st.nextToken());
int q = Integer.parseInt(st.nextToken());
String str = br.readLine();
switch (str) {
case "AABB" : if (q==7) print(8, 9); break;
case "ABAB" : if (p==6 && q==8) print(7, 9); break;
case "ABBA" : if (p+3==q) print(p+1, p+2); break;
case "BAAB" : if (p==2 && q==8) print(1, 9); break;
case "BABA" : if (p==2 && q==4) print(1, 3); break;
case "BBAA" : if (p==3) print(1, 2); break;
}
if (!chk) System.out.println(-1);
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
[자바] 백준 19939 - 박 터뜨리기 (boj java) (0) | 2022.05.07 |
---|---|
[자바] 백준 22155 - Простая задача (boj java) (0) | 2022.05.06 |
[자바] 백준 1388 - 바닥 장식 (boj java) (0) | 2022.05.04 |
[자바] 백준 2246 - 콘도 선정 (boj java) (0) | 2022.05.03 |
[자바] 백준 11576 - Base Conversion (boj java) (0) | 2022.05.02 |
댓글