pda_pro12   6년 전

어떤 문제를 풀고있는데요... 백준 온라인저지가 아닙니다!


두명이서 게임을 진행하는데 N을 정해놓고 시작합니다! 

번갈아가면서 서로의 차례마다 x를 2x 또는 2x+1의 연산을 수행합니다. 

x는 초기값으로 항상 1부터 시작하구요. 

만약 연산결과가 N을 초과하는 순간이 왔을때 그 연산을 수행한사람이 패배하는 문제입니다. 

그래서 입력으로 N하나만 주어졌을때 승자를 출력하는문제인데요(두명의 이름은 편의상 A, B로 하겠습니다. )

두사람이 최선을 다해서 게임에 임한다는 조건이 주어졌습니다(최선을다한다는 것이 어떻게 이해해야할지 몰라서 일단은 제 방식데로 아래 코드에 구현해보았습니다.)

n의 범위는 1~ 10^18까지 주어지는데요. 테스트케이스는 전부 잘돌아갑니다만 시간초과의 문제가 생겨버렸습니다....


오늘 하루종일  고민한것같은데... 너무 머리가 아파오네요... 고수님들중에 혹시 조언좀 해주실분 계신가요?"ㅠㅠㅠ


sgchoi5   6년 전

종만북에서 유사한 문제풀이를 본 것 같은데..... DP 관련 장이었던 듯....

댓글을 작성하려면 로그인해야 합니다.