백준 1057 토너먼트
2023. 6. 20. 20:22ㆍ코딩 공부 연습
반응형
#include <iostream>
using namespace std;
int main()
{
int n, a,b;
int cnt = 0;
cin>>n>>a>>b;
while(1)
{
if (a == b)
break;
a -= (a/ 2);
b -= (b /2 );
cnt++;
}
cout<<cnt<<"\n";
return 0;
}
오늘 푼 문제는 토너먼트 문제이다. 일상에서 쉽게 발생하는 고민인데, 코드로 구현하려니까 아이디어를 떠올리는 데 시간이 꽤 오래 걸렸다. 몇번 상대와는 토너먼트 몇번째에 만나게 될까에 대한 문제였다.
플레이어의 번호는 한번 경기를 해서 이길 때마다 a/2 만큼 감소된다는 점을 이용하여 위처럼 반복문을 작성했다!
'코딩 공부 연습' 카테고리의 다른 글
백준 18870 좌표 압축 (0) | 2023.06.23 |
---|---|
백준 1920 수 찾기 (0) | 2023.06.22 |
백준 11000 강의실 배정 (1) | 2023.06.18 |
백준 1992 쿼드 트리 (0) | 2023.05.26 |
DFS, BFS (0) | 2023.05.17 |