题解:尼姆博弈,对于1至1000计算SG函数,每次取最小的前继值,SG值异或为0则为P-position。

#include <cstdio>
#include <cstring>
using namespace std;
int fbi[30];
int SG[1001];
int m,n,p;
int main(){
fbi[0]=0,fbi[1]=1,fbi[2]=2;
for(int i=3;fbi[i-1]<=1000;i++)fbi[i]=fbi[i-1]+fbi[i-2];
memset(SG,0,sizeof SG);
int hash[40];
for(int i=1;i<=1000;i++){
memset(hash,0,sizeof hash);
for(int j=1;fbi[j]<=i;j++)hash[SG[i-fbi[j]]]=1;
for(int j=0;;j++)if(hash[j]==0){SG[i]=j;break;}
}
while(scanf("%d%d%d",&m,&n,&p),m||n||p){
if((SG[m]^SG[n]^SG[p])!=0)printf("Fibo\n");
else printf("Nacci\n");
}
return 0;
}

HDU 1848 Fibonacci again and again的更多相关文章

  1. hdu 1848 Fibonacci again and again(SG函数)

    Fibonacci again and again HDU - 1848 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)= ...

  2. HDU 1848 Fibonacci again and again (斐波那契博弈SG函数)

    Fibonacci again and again Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & ...

  3. hdu 1848 Fibonacci again and again(简单sg)

    Problem Description 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的:F(1)=1;F(2)=2;F(n)=F(n-1)+F(n-2 ...

  4. HDU 1848 Fibonacci again and again(SG函数)

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  5. HDU 1848 Fibonacci again and again【博弈SG】

    Problem Description 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)=2; F(n)=F(n-1)+F( ...

  6. hdu 1848 Fibonacci again and again(sg)

    Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  7. 题解报告:hdu 1848 Fibonacci again and again(尼姆博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 Problem Description 任何一个大学生对菲波那契数列(Fibonacci num ...

  8. 博弈论 SG函数(模板) HDU 1848 Fibonacci again and again

    Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  9. HDU 1848 Fibonacci again and again【SG函数】

    对于Nim博弈,任何奇异局势(a,b,c)都有a^b^c=0. 延伸: 任何奇异局势(a1, a2,… an)都满足 a1^a2^…^an=0 首先定义mex(minimal excludant)运算 ...

  10. hdu 1848 Fibonacci again and again (初写SG函数,详解)

    思路: SG函数的应用,可取的值为不连续的固定值,可用GetSG求出SG,然后三堆数异或. SG函数相关注释见代码: 相关详细说明请结合前一篇博客: #include<stdio.h> # ...

随机推荐

  1. 提交服务器 post get

    HttpRequest Post or Get // method --- WebRequestMethods.Http.Post 或 WebRequestMethods.Http.Get priva ...

  2. LNNVL函数使用

    显示那些佣金比例(commision)不大于20%或者为NULL的员工的信息. CREATE TABLE plch_employees (     employee_id      INTEGER P ...

  3. js中递归解析xml

    xml结构: <RightMenuItems>  <Item Code="New" Name="新建" GroupCode="Edi ...

  4. phpUnit 断言

    转自http://blog.163.com/qianxue126@126/blog/static/162723138201119113131125/ 布尔类型assertTrue   断言为真asse ...

  5. CSS 基础总结

    CSS基础 Doctype 声明位于文档中的最前面,处于 标签之前.告知浏览器的解析器,用什么文档类型 规范来解析这个文档. 在标准模式中,浏览器根据规范呈现页面: 在混杂模式中,页面以一种比较宽松的 ...

  6. Office 2013

    Microsoft Office 2013 Professional Plus 32位简体中文版文件名: SW_DVD5_Office_Professional_Plus_2013_W32_ChnSi ...

  7. 终于懂了:两个UI组件同时在操作是不可能实现的

    // 目的:从某个对话框里,选择一些路径,然后用Tree自动展开这些路径,但至少需要几秒钟时间 // 问题:在这几秒钟期间,显示一个等待对话框,只能开多线程,因为后台继续要处理tree的一些事情.等待 ...

  8. 一个简单的反射连接程序(修改文件时间,以及创建Windows服务)

    program SvrDemo; uses  Windows,  WinSvc,  winsock; const  RegName = 'SvrDemo'; var  szServiceName: p ...

  9. 【基础】常用的机器学习&数据挖掘知识点

    Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Least Square Methods 最小二乘法),ML ...

  10. 2015 11 26 java 配置环境变量

    使用java软件, 须进行改变配置环境变量.需要2步. 第一,在电脑中找到配置环境变量的位置: 我的电脑,属性,高级,环境变量. 第二,进行添加两个变量,更改一个变量: 1,变量名:JAVA_HOME ...