돌 뽑 기 놀이
1364 단어 바둑 을 두다
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6872 Accepted Submission(s): 4145
Problem Description
한 무더기 의 돌 은 n 개가 있 는데, 두 사람 이 번갈아 가 며 가 져 간다. 선 취 자 는 첫 번 째 로 여러 개 를 가 져 갈 수 있 지만, 다 가 져 갈 수 는 없다. 이후 매번 가 져 온 돌 수 는 지난번 취 자 수의 2 배 를 초과 해 서 는 안 된다.이 긴 사람 이 이 깁 니 다. 먼저 이 긴 사람 은 "Second win"을 출력 합 니 다. 먼저 이 긴 사람 은 "First win"을 출력 합 니 다.
Input
여러 그룹 을 입력 하 십시오. 각 그룹의 첫 번 째 줄 은 2 < = n < 2 ^ 31. n = 0 으로 종료 합 니 다.
Output
선 취자 마이너스 출력 "Second win". 선 취자 승 출력 "First win".
샘플 출력 참조.
Sample Input
213100000
Sample Output
Second winSecond win
First win
피 보 나 치 게임: 돌 이 한 무더기 있 는데 먼저 이 긴 것 이 적당 하고 돌 의 개 수 는 피 보 나 치 수열 의 하나 이 며 그렇지 않 으 면 나중에 이 긴 것 이다.
#include using namespace std;typedef long long ll;ll ans[1100];int num = 2;void init(){ ans[0]=ans[1]=1; for(int i = 2;; i++){ ans[i] = ans[i-1]+ans[i-2]; if(ans[i]>pow(2,31)){ break; } num++; }}int main(){ init(); int n; while(scanf("%d", &n)!=EOF && n){ bool fou = false; for(int i = 0; i < num; i++){ if(ans[i]==n){ fou=true; break; } } if(!fou) cout << "First win"< else cout << "Second win"<< endl; } return 0;}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HDOJ 2176 돌 쌓 기 게임한 더미 에서 만 얻 을 수 있 습 니 다. 예 를 들 어 5 더미 5, 7, 8, 9, 10 선 취 자 는 이 길 수 있 습 니 다. 선 취 자 는 첫 번 째 로 얻 을 때 8 개 있 는 더미 에서 7 개 를 가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.