SG函数打表,求NIM和!!!

代码如下:

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<cmath>
 5 #include<algorithm>
 6 using namespace std;
 7 int sg[51][51];
 8 char str[51];
 9 void init()
10 {
11     int i,j,a,b,k;
12     bool vis[510];
13     for(i=0;i<=50;i++){
14         sg[i][0]=sg[0][i]=i;
15     }
16     for(i=1;i<=50;i++)
17     for(j=1;j<=50;j++){
18         memset(vis,0,sizeof(vis));
19         for(a=0;a<i;a++)
20         for(b=0;b<j;b++){
21             vis[sg[i][b]^sg[a][j]]=1;
22         }
23         for(k=0;;k++)
24         if(vis[k]==0){
25             sg[i][j]=k;
26             break;
27         }
28     }
29 }
30 int main()
31 {
32     int i,j,m,n,p;
33     init();
34     while(scanf("%d%d",&n,&m)){
35         if(!n&&!m) break;
36         p=0;
37         for(i=0;i<n;i++){
38             scanf("%s",str);
39             for(j=0;j<m;j++){
40                 if(str[j]=='#'){
41                     p^=sg[i][j];
42                 }
43             }
44         }
45         puts(p?"John":"Jack");
46     }
47     return 0;
48 }

View Code

转载于:https://www.cnblogs.com/xin-hua/p/3299793.html

hdu 2873 Bomb Game 博弈论相关推荐

  1. HDU 3555 Bomb(数位DP模板啊两种形式)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 Problem Description The counter-terrorists found ...

  2. HDU 3555 Bomb (数位DP-记忆化搜索模板)

    题意 求区间[1,n]内含有相邻49的数. 思路 比较简单的按位DP思路.这是第一次学习记忆化搜索式的数位DP,确实比递推形式的更好理解呐,而且也更通用~可以一般化: [数位DP模板总结] int d ...

  3. HDU 3555 Bomb (数位DP)

    数位dp,主要用来解决统计满足某类特殊关系或有某些特点的区间内的数的个数,它是按位来进行计数统计的,可以保存子状态,速度较快.数位dp做多了后,套路基本上都差不多,关键把要保存的状态给抽象出来,保存下 ...

  4. HDU 3555: Bomb

    ///@link http://acm.hdu.edu.cn/showproblem.php?pid=3555///@author Sycamore///@date Sep, 14///@ref ku ...

  5. hdu 3622 Bomb Game【二分+2-SAT+tarjan】

    用read()会挂 二分半径,显然最优的是所有原都用这个最小半径,然后2-SAT把相交的圆建图,跑tarjan判一下可行性即可 #include<iostream> #include< ...

  6. HDU 3555 Bomb

    模板题 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll num; int a[20],len; ...

  7. HDU - 3555 Bomb(数位dp)

    题目链接:点击查看 题目大意:给定一个整数n,求从1到n的闭区间内含有相邻"49"的数字的个数. 题目分析:裸的数位dp,这里说一下两种做法,第一种是正着求,也就是求含有49的数字 ...

  8. HDU 3555 - Bomb

    第一道数位dp,属于基础模板,又自卑小时没学好数数了,只是不清楚为什么大家的dp定义都是相同的,很显然么,难道我写的是怪胎... /* ID:esxgx1 LANG:C++ PROG:hdu3555 ...

  9. [HDU 3555] Bomb

    dp[dep][four]表示长度为dep的上一个是否为4的不含子串49的数的个数 1 #include<bits/stdc++.h> 2 using namespace std; 3 t ...

最新文章

  1. guid linux 识别的分区表_Linux系统MBR和GPT分区的区别介绍
  2. 实验一、词法分析实验
  3. 【C 语言】文件操作 ( 写文本文件 | Qt 创建 C 语言命令行项目 )
  4. Mysql中natural join和inner join的区别
  5. 无线打印服务器 惠普打印机,连接您的HP无线打印机 | 无线打印中心 | 惠普中国...
  6. Linux系统Load average负载详细解释
  7. sql server database mail
  8. python中iter方法_Python中的迭代器(iter())函数。
  9. 697.数组的度(力扣leetcode) 博主可答疑该问题
  10. Struts 2.2.3 DOS漏洞
  11. SQL Server数据库基础知识——数据库存储过程怎么写
  12. 网络视频流 -- ffmpeg 推流
  13. kindle刷机安卓版_亚马逊 kindle 刷机 过程记录
  14. 如何通俗易懂地理解什么叫泛型?
  15. 一只仓鼠引发的热议HUAWEI nova 青春版超大内存走红
  16. 01-无线传感器网络(WSN)简介
  17. acm竞赛小结5 BUAA Training 2013 #1
  18. weixin小程序和公众号抓包方法分享
  19. Google,你让我只能高山仰止,望尘莫及了!
  20. word文档损坏怎么恢复

热门文章

  1. Analysis by Its History Theorem 2.2 牛顿广义二项式公式
  2. e语言通用进销存源码_Go 语言设计哲学之五:代码风格的唯一标准
  3. MySQL索引优化讲解
  4. 使用Zookeeper共享锁和排它锁和分布式队列的原理和实现(ZkClient)
  5. Java日志框架之JUL(java util logging)详解
  6. java 定义多个变量_学了Java才搞懂JMeter测试计划
  7. aes加密 js_吊打SRC的加密传输实现SQLi挖掘
  8. mysql load 占位符,mysql:用不存在的数据的占位符初始化摘要表
  9. python for循环 内存_python中for循环的内存分配
  10. php pdo 预处理删除,PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理