ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <백준> 1057 토너먼트
    백준 2019. 11. 18. 14:00

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

     

    작년부터 풀기 싫어서 미뤘던 문제,,

    생각보다 너무 쉬워서 왜 미뤘는지 모르겠음

    #include<iostream>
    
    using namespace std;
    
    int N, K, I;
    
    int divide(int i)
    {
    	if (i % 2 == 1)	//홀수 일 경우 다음 라운드 번호는 i/2+1;
    		return i / 2 + 1;
    	else    //짝수 일 경우는 i/2;
    		return i / 2;
    }
    
    int main()
    {
    	cin >> N >> K >> I;
    	int round_cnt = 1;
    	while (1)
    	{
    		int temp1 = divide(K);
    		int temp2 = divide(I);
    		if (temp1 == temp2)
    		{
    			cout << round_cnt;
    			break;
    		}
    		else
    		{
    			round_cnt++;
    			K = temp1;
    			I = temp2;	//K, I 갱신하면서 올라감
    		}
    	}
    	return 0;
    }

    일단 -1 출력할 경우는 절대 없음.

    두명이 무조건 이기는데 만나지 못할 경우가 있을 수가 없다.

    11/18-11/25 PS 2/7

    '백준' 카테고리의 다른 글

    <백준> 1406 에디터  (1) 2019.11.18
    <백준> 11279 최대 힙  (0) 2019.11.18

    댓글

Designed by Tistory.