반응형
수학공식을 찾은 후 모든 경우를 검사하는 문제였습니다.
풀이방법
1. 김지민 임한수를 각각 a,b로 두어 입력받습니다.
2. a==1, b==2 또는 a==b일 때까지 2로 나누어줍니다. 이 때 a나 b가 홀수라면 2로나눈 후 1을 더해줍니다.
3. 2번과정을 시행한 갯수가 곧 round 갯수입니다. 따라서 이를 출력해줍니다.
Code
#include <bits/stdc++.h>
using namespace std;
int num[100001];
int main(){
int n, a, b;
cin >> n >> a >> b;
int round = 0;
while(1){
round++;
if(a == 1 && b == 2 || a == b){
if(a == b) round--;
break;
}
if(a % 2 == 1)a = a/2 + 1;
else a /= 2;
if(b % 2 == 1) b = b/2 + 1;
else b /= 2;
}
cout << round <<'\n';
}
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - 백준(BOJ) 1145번 : 적어도 대부분의 배수 답 (0) | 2021.01.27 |
---|---|
(C++) - 백준(BOJ) 2160번 : 그림 비교 답 (0) | 2021.01.25 |
(C++) - 백준(BOJ) 2985번 : 세 수 답 (0) | 2021.01.20 |
(C++) - 백준(BOJ) 1590번 : 캠프가는 영식 답 (0) | 2021.01.16 |
(C++) - 백준(BOJ) 2023번 : 신기한 소수 답 (7) | 2020.10.16 |