hdu1847-Good Luck in CET-4 Everybody! (博弈论 SG函数 找规律)
Good Luck in CET-4 Everybody!
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4620 Accepted Submission(s): 2960
“升级”?“双扣”?“红五”?还是“斗地主”?
当然都不是!那多俗啊~
作为计算机学院的学生,Kiki和Cici打牌的时候可没忘记专业,她们打牌的规则是这样的:
1、 总共n张牌;
2、 双方轮流抓牌;
3、 每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…)
4、 抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;
假设Kiki和Cici都是足够聪明(其实不用假设,哪有不聪明的学生~),并且每次都是Kiki先抓牌,请问谁能赢呢?
当然,打牌无论谁赢都问题不大,重要的是马上到来的CET-4能有好的状态。
Good luck in CET-4 everybody!
/*********************************************
*
* acm: hdu-1847
*
* title: Good Luck in CET-4 Everybody!
*
* time: 2014.5.9
*
*********************************************///考察博弈论 sg函数#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>#define MAXSIZE 1001int SG[MAXSIZE];int mex(int n)
{int i;int t;int g[MAXSIZE] = {0};for (i = 0; ; i++){t = n - (int )pow(2, i);if (t < 0){break;}if (SG[t] == -1){SG[t] = mex(t);}g[SG[t]] = 1;}for (i=0; ; i++){if (!g[i]){return i;}}
}int main()
{int n;memset(SG, -1, sizeof(SG));while (~scanf("%d", &n)){if (SG[n] == -1){SG[n] = mex(n);}if (SG[n] != 0){printf("Kiki\n");}else{printf("Cici\n");}}return 0;
}
/*********************************************
*
* acm: hdu-1847
*
* title: Good Luck in CET-4 Everybody!
*
* time: 2014.5.9
*
*********************************************///考察博弈论 找规律 n%3 == 0 为失败者#include <stdio.h>
#include <stdlib.h>int main()
{int n;while (~scanf("%d", &n)){if (n%3 != 0){printf("Kiki\n");}else{printf("Cici\n");}}return 0;
}
hdu1847-Good Luck in CET-4 Everybody! (博弈论 SG函数 找规律)相关推荐
- [AcWing] 1319.移棋子游戏 博弈论 Sg函数板子题
题目链接:1319.移棋子游戏 题解 好久没写博弈论的题了,写几道复习一下,博弈论SG主要由两大部分组成:SG函数和SG定理 SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S ...
- 网络与社会导论博弈论SG函数
课上学习纳什均衡之后,经查找博理论相关资料,了解到巴什博奕.威佐夫博弈和SG函数等经典的模型,而SG函数正是处理一些博弈论问题的很好的办法,下面对其进行介绍. 我们来研究一个一般的游戏:给定一个有向无 ...
- 博弈论SG函数-算法介绍及例题
一. 基本概念: 1. Impartial Combinatorial Games(ICG) 公平组合游戏: 1. 两名选手 2. 交替进行某种游戏规定的操作,每操作一次,选手可以在有限的操作(操作 ...
- CF1369F-BareLee【博弈论,SG函数】
正题 题目链接:https://www.luogu.com.cn/problem/CF1369F 题目大意 TTT次游戏,每次给出一个sss和ttt,两个人轮流操作,可以让s=s+1s=s+1s=s+ ...
- 2016多校联合训练1 B题Chess (博弈论 SG函数)
题目大意:一个n(n<=1000)行,20列的棋盘上有一些棋子,两个人下棋,每回合可以把任意一个棋子向右移动到这一行的离这个棋子最近的空格上(注意这里不一定是移动最后一个棋子),不能移动到棋盘外 ...
- 【NOI模拟赛】纸老虎博弈(博弈论SG函数,长链剖分)
题面 某天,C 和 K 觉得很无聊,于是决定玩一个经典小游戏: 在一棵有 nnn 个结点的有根树上,标号为 iii 的节点上有 aia_iai 个棋子.游戏时玩家轮流操作,每次可以将任意一个节点 u ...
- 博弈论-SG函数和SG定理
1.SG函数和SG定理是一个十分神奇的东西,有了它,绝大部分的博弈都可以被统一到这个上面,都可以使用SG函数解决.是一种解决博弈问题的十分方便的手段. 2.首先给出一些基本的定义:mex运算,这个是作 ...
- 博弈论sg函数——《移旗子游戏》《剪纸游戏》
传送门:移棋子游戏 思路:按照sg函数定义,在这道题里面,不能移动的状态就是终点态,sg值设为0,其余所有的点的sg函数值就是属于其所有后继节点的sg函数值组成的集合里面非集合元素的最小的一个数字,也 ...
- 博弈论、SG定理和SG函数
巴什博奕 巴什博弈:一堆物品有n个,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 结论: 如果n%(m+1)==0 ,那么先手必败,否则后手必败 首先我们引入PN点概念 ...
最新文章
- TypeError: 'module' object is not callable 原因分析(python模块导入注意事项)
- maven 项目报错Context initialization failed
- 洛谷 P1800 software_NOI导刊2010提高(06)(二分答案+DP检验)
- SCons: A software construction tool
- TCP/IP 学习 --- 2
- linux shell之xargs 、tr、sha1sum、head、tail一般使用
- vux radio 改造为 tree 代码片段
- jsp获得文件的绝对路径
- ai的预览模式切换_当AI频繁切换色彩预览模式时 颜色会越变越深 求解?
- flash 转 html5 工具_转
- 本特利电涡流传感器330709-000-060-10-02-00
- 三电平igbt死区时间计算_IGBT的三电平控制原理
- 电子电路学习笔记(16)——晶振电路的电容
- 数据分析——员工离职预测
- 中国移动湖南公司2022校园春季招聘正在进行中
- Java 编程问题:四、类型推断
- 我有酒,你有故事吗?
- Vertica资源池
- python爬虫库scrapy_使用Python爬虫Scrapy框架爬取数据
- iOS 蓝牙 Bluetooth 外围设备 中央设备