내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
백준 온라인 저지 (BOJ)
»
수학 게임
ps:problems:boj:2862
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 수학 게임 ====== ===== 풀이 ===== * [[ps:problems:boj:2373]]에서 N이 더 커진 버전. [[ps:problems:boj:2373]]에서는 첫턴에 최대 N-1개의 돌을 가져갈수 있었고, 그래서 이길수 없는 경우에는 -1을 출력하도록 되어있었지만, 여기에서는 최대 N개의 돌을 가져갈수 있기때문에 이길수 없는 경우는 생기지 않는다. 하지만 이길수 있는 경우에는 최소의 돌을 가져가는 방법만 출력하라고 되어있으므로, 결과적으로 출력해야 하는 값은 이길수 없을때 -1 대신 N을 출력한다는 것을 제외하고는 동일하다. * 풀이는 [[ps:problems:boj:2373]]과 동일. ===== 코드 ===== <dkpr py> """Solution code for "BOJ 2862. 수학 게임". - Problem link: https://www.acmicpc.net/problem/2862 - Solution link: http://www.teferi.net/ps/problems/boj/2862 Tags: [number theory] """ def zeckendorf_representation(n): ret = [] a, b = 1, 1 while b <= n: a, b = b, a + b while n: while a > n: a, b = b - a, a n -= a ret.append(a) return ret def main(): N = int(input()) print(zeckendorf_representation(N)[-1]) if __name__ == '__main__': main() </dkpr> {{tag>BOJ ps:problems:boj:플래티넘_1}}
ps/problems/boj/2862.txt
· 마지막으로 수정됨: 2023/06/15 14:13 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로