PS/etc

백준 1402번: 아무래도이문제는A번난이도인것같다 (Java)

닻과매 2022. 6. 17. 15:28

https://www.acmicpc.net/problem/1402

 

1402번: 아무래도이문제는A번난이도인것같다

첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 100)이 주어진다. 테스트 케이스마다 두 정수 A, B(-231 ≤ A, B ≤ 231-1)가 주어진다.

www.acmicpc.net

문제

어떤 정수 A가 있으면 그 숫자를 A = a1 * a2 * a3 * a4 ... * an으로 했을 때 A' = a1 + a2 + a3 ... + an이 성립하면 "A는 A'으로 변할 수 있다"라고 한다. (ai는 정수) 만약 A'이 A''으로 변할 수 있으면 "A는 A''으로 변할 수 있다"라고 한다.

이때 A와 B가 주어지면 A는 B로 변할 수 있는지 판별하시오.

입력

첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 100)이 주어진다. 테스트 케이스마다 두 정수 A, B(-231 ≤ A, B ≤ 231-1)가 주어진다.

출력

각각의 테스트 케이스마다 한 줄에 변할 수 있으면 yes, 아니면 no를 출력한다.

 


 

풀이

아이디어가 중요한 문제라 가렸습니다.

더보기

N  = 1 * N이므로 N -> N+1이 가능

N = (-1) * (-1) * N이므로 N -> N-2가 가능

따라서, 곱하는 1의 수와 (-1)의 수를 조절하면 모든 수로 이동 가능

 

코드

1
2
3
4
5
6
7
8
9
10
11
12
import java.io.*;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        for (int i = 0; i < N; i++) {
            System.out.println("yes");
        }
    }
}
 
cs