HDU 1848 Fibonacci again and again
2012-02-24 12:41
555 查看
HDU_1848
用记忆化搜索的方式处理出sg函数值,然后看sg
^sg[m]^sg[p]是否为0即可,推荐一个讲SG函数入门知识的博客:http://www.cnblogs.com/Knuth/archive/2009/09/05/1561007.html。
用记忆化搜索的方式处理出sg函数值,然后看sg
^sg[m]^sg[p]是否为0即可,推荐一个讲SG函数入门知识的博客:http://www.cnblogs.com/Knuth/archive/2009/09/05/1561007.html。
#include<stdio.h> #include<string.h> #define MAXD 1010 int f[20], h[MAXD][20], sg[MAXD]; void prepare() { int i; f[0] = f[1] = 1; for(i = 2; i <= 15; i ++) f[i] = f[i - 1] + f[i - 2]; memset(h, 0, sizeof(h)); memset(sg, -1, sizeof(sg)); } int dfs(int n) { int i; if(sg != -1) return sg ; for(i = 1; i <= 15; i ++) if(n - f[i] >= 0) h [dfs(n - f[i])] = 1; for(i = 0; h [i]; i ++); return sg = i; } int main() { prepare(); for(;;) { int m, n, p; scanf("%d%d%d", &m, &n, &p); if(!m && !n && !p) break; printf("%s\n", (dfs(m) ^ dfs(n) ^ dfs(p)) == 0 ? "Nacci" : "Fibo"); } return 0; }
相关文章推荐
- HDU 1848 Fibonacci again and again
- hdu 1848(Fibonacci again and again)(SG博弈)
- HDU_1848 Fibonacci again and again(SG)
- HDU 1848 Fibonacci again and again + POJ 2960 S-Nim(SG 函数)
- HDU 1848 Fibonacci again and again(博弈 SG运用)
- hdu 1848 Fibonacci again and again sg定理
- HDU1848_Fibonacci again and again_经典的求sg
- hdu(1848)Fibonacci again and again(sg函数版的尼姆博弈)
- hdu_1848_Fibonacci again and again(博弈sg函数)
- hdu 1848 Fibonacci again and again(SG)
- 博弈论 SG函数(模板) HDU 1848 Fibonacci again and again
- HDU 1848 Fibonacci again and again(SG函数的应用)
- hdu1848 Fibonacci again and again(SG)
- hdu 1848 - Fibonacci again and again(简单博弈)
- HDU 1848 Fibonacci again and again
- Hdu1848 Fibonacci again and again(sg函数)
- hdu 1848 Fibonacci again and again(nim博弈)
- hdu_1848_Fibonacci again and again(博弈sg函数)
- hdu 1848 Fibonacci again and again (初写SG函数,详解)
- HDU 1848 Fibonacci again and again SG打表