hdu 3863 No Gambling (不会证明,但是是对的,,)

题意:

N=4时

规则:

双方每次可以连接自己颜色的两个点(相邻,长度为1),线和线不能交叉重叠。

蓝方要连接左右,红方要连接上下。

蓝方先。问谁先连接?

思路:

经过观察。。。。蓝方胜。。。。。。。(无语)【我不知道如何证明!】

代码:

就不贴了。。。

时间: 2024-10-11 22:02:26

hdu 3863 No Gambling (不会证明,但是是对的,,)的相关文章

HDU 3863 No Gambling

No Gambling Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65568/32768 K (Java/Others)Total Submission(s): 1528    Accepted Submission(s): 1091 Problem Description One day, Flyvan introduced a new game to his two friends, Oregon Maple and Gr

HDU 3863 (博弈) No Gambling

这是我见过的最简单的一道博弈了,其实不要被复杂的棋盘吓到了. 首先肯定会有而且仅有一个人胜,而且因为棋盘是对称的,所以先手相对于后手肯定更有优势,那么肯定是先手赢. 这是不是严格的推理,但是确实比较容易猜出答案. 题外话:既然这游戏这么坑,为什么两个人还能玩得不亦乐乎.. 1 #include <cstdio> 2 3 int main() 4 { 5 int n; 6 while(scanf("%d", &n) && n + 1) puts(&qu

HDU 4923 (贪心+证明)

Room and Moor Problem Description PM Room defines a sequence A = {A1, A2,..., AN}, each of which is either 0 or 1. In order to beat him, programmer Moor has to construct another sequence B = {B1, B2,... , BN} of the same length, which satisfies that:

Girls and Boys HDU - 1068 二分图匹配(匈牙利)+最大独立集证明

最大独立集证明参考:https://blog.csdn.net/qq_34564984/article/details/52778763 最大独立集证明: 上图,我们用两个红色的点覆盖了所有边.我们证明的前提条件是已经达到最小覆盖. 即条件1.已经覆盖所有边,条件2.所用的点数最小 首先我们来证明蓝色点组成的是一个独立集:如果有两个蓝色点间有边相连,那么这条 边则没有被覆盖,则与条件1矛盾.因此是独立集. 再来证明这个独立集最大: 如果我们要再增加这个独立集中的点,则需要把某个红点变 成蓝点.而

hdu 4974 数学杂题/证明

题意模型:n个正数,每次可以做下面俩种操作之一: 1:取一个数减一. 2:取俩个数各减一. 都必需保证每次操作的数>0. 求使得所有数字为0的最少操作次数. 都说是简单题,网上还有不少错误解法(排序后扫一遍,每次取最大的俩个数减到0: 2 2 2 这样是4次,正解3次). 应该是每次取最大的俩个数,各减1. 若maxi>sum/2,则ans=max,每次操作都用那个max,和其他一个数,最后max没人找了,自己减. 若maxi<sum/2,则ans=(sum+1)/2.每次操作找俩个当前

HDU 5047 Sawtooth(有趣的思维题+证明)

Sawtooth Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 979    Accepted Submission(s): 375 Problem Description Think about a plane: ● One straight line can divide a plane into two regions. ● T

HDU 3929 Big Coefficients(容斥+证明)

(1 + x)^n 的奇数项系数个数等于 2^(bitcount(n)),bitcount(x)为x有多少个1. 然后容斥 枚举每一项存在不存在,然后容斥加加减减即可 这题用二进制枚举会T,只能DFS 代码: #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N = 15; typedef long long ll; int t, n; ll

hdu 1267 递推

下沙的沙子有几粒? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4326    Accepted Submission(s): 2268 Problem Description 2005年11月份,我们学校参加了ACM/ICPC 亚洲赛区成都站的比赛,在这里,我们获得了历史性的突破,尽管只是一枚铜牌,但获奖那一刻的激动,也许将永远铭刻

HDU 4162 Shape Number(字符串,最小表示法)

HDU 4162 题意: 给一个数字串(length <= 300,000),数字由0~7构成,求出一阶差分码,然后输出与该差分码循环同构的最小字典序差分码. 思路: 第一步是将差分码求出:s[i] = (s[i] - s[i+1] + 8) % 8; 第二步是求出最小字典序的循环同构差分码,我之前没注意到字符串规模..直接用set做,MLE+TLE... 正确的方式应该是一种O(n)的解法,即最小表示法.//关于最小表示法的证明与详述请参考最小表示法:) 最小表示法算法: 初始时,i=0,j=