首页 > 代码库 > HDU 2516 斐波那契博弈
HDU 2516 斐波那契博弈
可以先列举一部分小数据,可以发现以fib[0]=2,fib[1]=3开始的斐波那契数列中的数字表示必胜态
#include <cstdio>#include <cstring>#include <iostream>using namespace std;#define ll long longconst ll INF = 0x7fffffff;int k;ll num[100];void get_table(){ num[0]=2 , num[1] = 3 ; k = 2; while(num[k-1]<INF){ num[k] = num[k-1]+num[k-2]; k++; }}int main(){ // freopen("a.in" , "r" , stdin); get_table(); int n; while(scanf("%d" , &n) , n) { bool flag=false; for(int i=0 ; i<k ; i++) if(num[i] == n){ flag=true; break; } if(flag) puts("Second win"); else puts("First win"); } return 0;}
HDU 2516 斐波那契博弈
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。