백준 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