hdu 2516 (피 보 나치 게임)
Problem Description 돌 1 무 더 기 는 n 개가 있 고, 2 명 이 번갈아 가 며 가 져 간다. 선 취 자 는 1 회 에 여러 개 를 가 져 갈 수 있 지만, 다 가 져 갈 수 는 없다. 이후 매번 가 져 오 는 돌 수 는 지난번 취 자 수의 2 배 를 초과 해 서 는 안 된다.이 긴 사람 이 이 깁 니 다. 먼저 이 긴 사람 이 수출 을 저 버 립 니 다. "Second win". 먼저 이 긴 사람 이 수출 을 이 깁 니 다. "First win".
Input 입력 은 여러 그룹 이 있 습 니 다. 각 그룹의 첫 번 째 줄 은 2 < = n < 2 ^ 31. n = 0 으로 종료 합 니 다.
출력 선 취 자 마이너스 출력 "Second win". 선 취 자 승 출력 "First win". 샘플 출력 참조.
Sample Input
2 13 10000 0
Sample Output
Second win Second win First win
이 문 제 는 피 보 나치 게임 입 니 다. 우리 가 수공 으로 계산 한 후에 알 수 있 듯 이 사실은 2, 3, 5, 8 은 모두 백 태 입 니 다. 이 문 제 는 n 이 피 보 나치 수 일 때 모두 필 패 태 입 니 다!
여기에 정리 가 하나 있다.
키 켄 도 프 의 정 리 는 모든 정수 가 몇 개의 불 연속 적 인 피 보 나 계 수 (첫 번 째 피 보 나 계 수 는 포함 되 지 않 음) 의 합 을 나 타 낼 수 있다 는 것 을 나타 낸다.이런 화식 을 키 켄 도 프 표현법 이 라 고 부른다
#include<cstdio>
#include<iostream>
using namespace std;
#include<algorithm>
typedef long long ll;
ll a[201];
int main(){
a[0]=1;
a[1]=2;
for(int i=2;i<=199;++i){
a[i]=a[i-1]+a[i-2];
}
ll n;
while(cin>>n,n){
printf("%s
",(*lower_bound(a,a+199,n))==n?"Second win":"First win");
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.