hdu2516 斐波納契博弈

D.Y.T發表於2020-12-14

特點:1堆石子,第一取不能取完,後面的取不能超過上次二倍,不能取失敗。
結論:n是斐波納契數時必敗

#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int N = 110;

ll f[N];
int main(){
	f[0] = f[1] = 1;
	for(int i = 2; i <= 60; i++) f[i] = f[i-1]+f[i-2];
	int n;
	while(scanf("%d", &n), n){
		int flag = 0;
		for(int i = 0; i <= 60; i++) {
			if(f[i] == n){
				flag = 1;
				break;
			}
		}
		if(flag) printf("Second win\n");
		else printf("First win\n");
	}
	return 0;
}

相關文章