문제링크 : https://www.acmicpc.net/problem/1402
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = 987654321;
int T, A, B;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> T;
while(T--)
{
cin >> A >> B;
cout << "yes" << "\n"; //모든 경우 가능
}
return 0;
}
처음에는 굉장히 복잡하고 노가다로 풀어야하나 고민하다가 아무리 생각해도 그건 아닌 것같아서 찾아보니 상당히 신기했던 문제이다.
A에 곱해주는걸 1또는 -1이 가능하다는 것을 이용하여 결국 모든 수에 대해 A'로 변환이 가능하다.
따라서 입력받은 수에 상관없이 무조건 yes이다.
A = A*1
A' = A+1
-> 1의 갯수를 조절하여 A보다 큰 모든 수에 대해 변환 가능
(A+1, A+1+1, A+1+1+1...)
A = A*(-1)*(-1)*1
A' = A-1-1+1
= A-1
-> (-1),(-1),1 3쌍의 조합의 갯수를 조절하여 A보다 작은 모든 수에 대해 변환 가능
(A-1, A-1-1, A-1-1-1...)
'백준 > 실버' 카테고리의 다른 글
[백준 1343번] 폴리오미노 (C++) (0) | 2024.02.08 |
---|---|
[백준 9711번] 피보나치 (C++) (0) | 2024.02.07 |
[백준 17390번] 이건 꼭 풀어야 해! (C++) (0) | 2024.02.03 |
[백준 19939번] 박 터뜨리기 (C++) (0) | 2024.02.01 |
[백준 5347번] LCM (C++) (0) | 2024.01.31 |