摘要: [POJ 1704] Georgia and Bob(阶梯博弈) 题目传送门 一、题目 题目的意思是说:两个人在一个$1*N$的格子内挪动棋子,刚开始在若干个位置上有若干个棋子,每一个选手可以进行的操作时选择一个棋子并把它向左方移动,不能越过其它的棋子,也不能超出边界。谁不能移动谁就输了。求谁会赢? 阅读全文
posted @ 2022-06-23 14:16 糖豆爸爸 阅读(156) 评论(1) 推荐(1)
摘要: \(HDU2176\) 先取者负输出$No$.先取者胜输出$Yes$,然后输出先取者第$1$次取子的所有方法.如果从有$a$个石子的堆中取若干个后剩下$b$个后会胜就输出$a$ \(b\) #include <bits/stdc++.h> using namespace std; const int 阅读全文
posted @ 2022-06-23 09:14 糖豆爸爸 阅读(30) 评论(0) 推荐(0)
摘要: \(HDU1850\) 经典$Nim$游戏 \(HDU1850\) 本题为一道尼姆博弈的改进题目,题目问题是给你几堆扑克;让你判断如果你能赢,你第一次操作都能使对手败的操作次数有多少种。根据题目大致可以根据其特点,得到如下思路;因为你每次能从任意选择一堆并取走其中的任意张牌。那么,只要看每一堆中有多 阅读全文
posted @ 2022-06-23 09:04 糖豆爸爸 阅读(28) 评论(0) 推荐(0)
摘要: \(HDU1847\) 分析:自行脑补博弈! 当 \(n = 0\) 时,显然为必败点,因为此时你已经无法进行操作了 当 \(n = 1\) 时,因为你一次就可以拿完所有牌,故此时为必胜点 当 \(n = 2\) 时,也是一次就可以拿完,故此时为必胜点 当 \(n = 3\) 时,要么就是剩一张要么 阅读全文
posted @ 2022-06-23 09:02 糖豆爸爸 阅读(35) 评论(0) 推荐(0)
摘要: \(HDU1846\) 做这道题你会感觉很欣喜。几乎比上边还简单。 #include <bits/stdc++.h> using namespace std; int main() { int T; scanf("%d", &T); while (T--) { int n, m; scanf("%d 阅读全文
posted @ 2022-06-23 09:00 糖豆爸爸 阅读(16) 评论(0) 推荐(0)
摘要: 题目传送门 #include <bits/stdc++.h> using namespace std; int m, n; int main() { int T; scanf("%d", &T); while (T--) { //林队(Grass)先手 scanf("%d %d", &n, &m); 阅读全文
posted @ 2022-06-23 08:59 糖豆爸爸 阅读(31) 评论(0) 推荐(0)
摘要: \(HDU1730\) \(Northcott\) \(Game\) 图1 图2 一、解题思路 把同一行棋子之间的距离看做石子数。两个棋子紧挨着,就表示这堆石子个数为零。否则石子数量就是白色棋子坐标与黑色棋子坐标差+1。 如果黑棋选择扩大距离(向左走) 白棋足够聪明,直接跟进,贴上黑棋,这样,本行黑 阅读全文
posted @ 2022-06-23 08:55 糖豆爸爸 阅读(58) 评论(0) 推荐(1)
Live2D