HDU 1848 Fibonacci again and again
题解:尼姆博弈,对于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的更多相关文章
- hdu 1848 Fibonacci again and again(SG函数)
Fibonacci again and again HDU - 1848 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)= ...
- HDU 1848 Fibonacci again and again (斐波那契博弈SG函数)
Fibonacci again and again Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & ...
- 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 ...
- HDU 1848 Fibonacci again and again(SG函数)
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- HDU 1848 Fibonacci again and again【博弈SG】
Problem Description 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)=2; F(n)=F(n-1)+F( ...
- hdu 1848 Fibonacci again and again(sg)
Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- 题解报告:hdu 1848 Fibonacci again and again(尼姆博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 Problem Description 任何一个大学生对菲波那契数列(Fibonacci num ...
- 博弈论 SG函数(模板) HDU 1848 Fibonacci again and again
Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- 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)运算 ...
- hdu 1848 Fibonacci again and again (初写SG函数,详解)
思路: SG函数的应用,可取的值为不连续的固定值,可用GetSG求出SG,然后三堆数异或. SG函数相关注释见代码: 相关详细说明请结合前一篇博客: #include<stdio.h> # ...
随机推荐
- 提交服务器 post get
HttpRequest Post or Get // method --- WebRequestMethods.Http.Post 或 WebRequestMethods.Http.Get priva ...
- LNNVL函数使用
显示那些佣金比例(commision)不大于20%或者为NULL的员工的信息. CREATE TABLE plch_employees ( employee_id INTEGER P ...
- js中递归解析xml
xml结构: <RightMenuItems> <Item Code="New" Name="新建" GroupCode="Edi ...
- phpUnit 断言
转自http://blog.163.com/qianxue126@126/blog/static/162723138201119113131125/ 布尔类型assertTrue 断言为真asse ...
- CSS 基础总结
CSS基础 Doctype 声明位于文档中的最前面,处于 标签之前.告知浏览器的解析器,用什么文档类型 规范来解析这个文档. 在标准模式中,浏览器根据规范呈现页面: 在混杂模式中,页面以一种比较宽松的 ...
- Office 2013
Microsoft Office 2013 Professional Plus 32位简体中文版文件名: SW_DVD5_Office_Professional_Plus_2013_W32_ChnSi ...
- 终于懂了:两个UI组件同时在操作是不可能实现的
// 目的:从某个对话框里,选择一些路径,然后用Tree自动展开这些路径,但至少需要几秒钟时间 // 问题:在这几秒钟期间,显示一个等待对话框,只能开多线程,因为后台继续要处理tree的一些事情.等待 ...
- 一个简单的反射连接程序(修改文件时间,以及创建Windows服务)
program SvrDemo; uses Windows, WinSvc, winsock; const RegName = 'SvrDemo'; var szServiceName: p ...
- 【基础】常用的机器学习&数据挖掘知识点
Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Least Square Methods 最小二乘法),ML ...
- 2015 11 26 java 配置环境变量
使用java软件, 须进行改变配置环境变量.需要2步. 第一,在电脑中找到配置环境变量的位置: 我的电脑,属性,高级,环境变量. 第二,进行添加两个变量,更改一个变量: 1,变量名:JAVA_HOME ...