51nod 1605 棋盘问题 (博弈)】的更多相关文章

题目:传送门. 题意:中文题.T组数据,每组给定一个n*m的棋盘,棋盘中的1代表黑色,0代表白色,每次可以将1或者非2质数的全黑色方形区域变为白色,不能操作者输,问谁能赢. 题解:每次可以将1或者非2质数的全黑色方形区域变为白色,那么每次变化的都是奇数,所以求出黑色方格总和判断奇偶性即可. #include <iostream> #include <cstdio> #include <cmath> #include <cstring> using names…
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1605 题目中最有用的点其实还是x必为奇数 #include<bits/stdc++.h> using namespace std; typedef long long LL; int main() { LL T;cin>>T; while(T--) { ; cin>>n>>m; ;i<n*m;i++) { cin&…
很简单的可以知道 如果P在V的右上角 必输 如果P在V的左下角 必赢 接下里还剩下左上角和右下角两种情况 两种情况其实相同 P是挡不住V通过对角线方向向下/左的移动的 即两者不会相互影响 所以我们只要比较两者走到终点所需时间的长短即可 #include<bits/stdc++.h> using namespace std; ]; int main() { int xp, yp, xv, yv; cin >> xp >> yp >> xv >> y…
贴个模板:平常的跟高精度java的: int: #pragma comment(linker, "/STACK:1024000000,1024000000") #include<iostream> #include<cstdio> #include<cmath> #include<string> #include<queue> #include<algorithm> #include<stack> #i…
思路 手动打表, N 1 : A出1 A胜: 2 : A出2 A胜: 3 : A只能出2的整数幂&&这个数<=3,所以只能出1,2:A出1的时候,B就是2的情况,B胜:A出2的时候,B就是1的情况,B胜: 4 : A只能出2的整数幂&&这个数<=3,所以只能出1,2,4:直接拿4,A胜: 5 : A只能出2的整数幂&&这个数<=3,所以只能出1,2,4:A出1的时候,B就是4的情况,B胜:A出2的时候,B就是3的情况,A胜:(只要出现A胜的…
卧槽,第一次自己推推推做出来的... 对于1,那么就是A取完就好 --A 对于2,只能是A拿一个 --B 对于3和4,都是A拿完 --A 对于5,靠向2,A取3,B只能1 --A 对于6,A取一个的话,B就是5的情况,B赢,取3个的话,B就是3的情况,B赢,取4个的话,B就是2的情况,A赢,所以A: 对于7,A取一个的话,B就是6的情况,B赢,取3个的话,B就是4的情况,B赢,取4个的话,B就是3的情况,B赢,所以B: 以此类推,对于A取多少个,对于B来说总是有之前的方案对应: discuss里…
1605 棋盘问题  基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的. 亚当和夏娃在玩一个游戏,每次寻找边长为x的正方形,其中每个格子必须为黑色,然后将这些格子染白. 如果谁不能操作了,那么那个人就输了. 亚当喜欢质数. 夏娃喜欢1,但讨厌2. 因此他们规定,x只有可能是非2质数或者是1. 现在他们想知道,如果他们都用最优策略进行游戏,谁会赢. 上帝规定亚当先手. 样例解释: 这里…
1995 三子棋 题目来源: syu校赛 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 原题链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1995 小的时候大家一定玩过“井”字棋吧.也就是在九宫格中,只要任意行.列,或者任意连续对角线上面出现三个相同的,就能获胜.现在小明和小花也在玩三子棋,但是他们不是在九宫格里,而是在3×4的格子里面.现在小明先下,但是他知道小花这个人很聪明…
51nod 1589 移数博弈 题面 给出一个序列a,长度 n <= 10^7, a[i] <= 10^7 求每个长度 >= 2 的区间的最大值*次大值 之和. 题解 主要思路是求每个元素作为次大值做了多少贡献. 对于一个元素 a[i], 设从i向左走能找到的第一个比a[i]大的位置为l[i], 第二个比a[i]大的位置为ll[i], 向右走能找到的第一个比a[i]大的位置为r[i], 第二个为rr[i]. a[i]作为次大值的时候,区间最大值要么是a[l[i]], 要么是a[r[i]]…
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1070 题意: 思路: 这个是斐波那契博弈,http://blog.csdn.net/acm_cxlove/article/details/7835016,关于斐波那契博弈的介绍,可以看看这篇博客.以下的内容便是转自这篇博客. 1.当i=2时,先手只能取1颗,显然必败,结论成立. 2.假设当i<=k时,结论成立. 则当i=k+1时,f[i] = f[k]+f[k-1].…