D. Tokitsukaze, CSL and Stone Game time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Tokitsukaze and CSL are playing a little game of stones. In the beginning, there are n piles of stones, the i-…
[Codeforces 1191D] Tokitsukaze, CSL and Stone Game(博弈论) 题面 有n堆石子,两个人轮流取石子,一次只能从某堆里取一颗.如果某个人取的时候已经没有石子,或者取完后又两堆石子个数相同(个数为0也算).假如两人都足够聪明,问谁能赢. 分析 贪心考虑,最后局面一定是0~n-1的一个排列.这时谁取谁就输.因此我把a[i]从小到大排序,把a[i]变成i-1,可以计算出取的石子个数\(\sum (a_i-i+1)\),如果是奇数,则先手胜,否则后手胜. 但…
思路: 首先题目告诉我们,一次只能删去一个石子.当然有翻译时会注意,但是看英文题时总是容易忽略.. 先排序. 然后,你会发现,有些情况是一开始就输的,具体情况如下: 有两个 两个相等非零数.(a[x] == a[x+1], a[y] == a[y+1], x != y) 有两个零. (a[x] == a[y] == 0) 有一个(a[x] + 1 == a[x+1] == a[x+2]),此时也直接输. 判完后,可以证明,无论他们怎么取,只要不使自己输,都会形成类似序列{0,1,2,3,...}…
传送门 不妨把每一堆按照石头数量从小到大排序 注意到每次只能拿一个石头,那么不论何时每堆石头的排名都是一样的 那么最终所有堆的状态一定就是 $0,1,2,...,n-1$,现在每一堆最终的石头数量都确定了 那么我们直接把每一堆的石头数量减去这一堆的排名,再加上 $1$,就得到每一堆能拿走的石头数量 那么此时就可以看成新的一些堆取石头,并且堆之间不要求不相等 显然只要没到最终状态就一定可以再拿石头 直接根据总石头数判断胜负即可 注意到如果不存在超过一对堆初始石头数量一样那么每一堆的石头数量一定不小…
去吧,皮皮虾 题意:  有 n 堆石子,每堆有 a[ i ] 个,然后每次 操作 可以选择任意一堆 石子,取走一个. 若你取完了之后,存在两堆石子,他们的个数一样多,你就输了( 包括两堆都是0个), 或者你不能取了,你也输了. 解: 1.若只有一堆,那就判奇偶就行了. 2.若存在 至少 两对 相等个数的 堆, 或者 两堆个数 为0 的堆,或者3堆石子都相等,先手必败( 两对的话,至多只能 使一对,变成不等的.) 3. 按升序排序,若存在两堆个数相等,都为 a,且有一堆的石子数为 a - 1 那么…
题目大意 一堆石子有n个,首先第一个人开始可以去1~…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764 Problem Description Tang and Jiang are good friends. To decide whose treat it is for dinner, they are playing a game. Specifically, Tang and Jiang will alternatively write numbers (integers) on a wh…
一.题目 ​ Tokitsukaze, CSL and Stone Game ​ Tokitsukaze和CSL正在玩一些石头游戏. ​ 一开始,有n堆的石头,第i堆石头数记为 \(a_i\),两人轮流操作. Tokitsukaze先行动. 在每个回合中,玩家选择非空的一堆石头并从中移除一块石头. 如果在操作前每堆都是空的,或者如果在移除石头之后,有两堆(可能是空的)包含相同数量的石头,则该玩家输了. 假设两位球员都采取最优方案,谁将赢得比赛? ​ 考虑一个例子: n = 3,\(a_1\)=2…
Preface 军训终于结束了回来补一补之前的坑发现很多题目题意都忘记了 这场感觉难度适中,F由于智力不够所以弃了,E的话石乐志看了官方英文题解才发现自己已经胡了一大半就差实现了233 水平下降严重.jpg A. Tokitsukaze and Discard Item CNM我SB模拟题要WA那么多发还是退役算了万恶的long long #include<cstdio> #define RI register int #define CI const int& const int N…
A:Tokitsukaze and Enhancement 当时看错条件了..以为A>C>B>D.就胡写了判断条件. #include<bits/stdc++.h> using namespace std; bool work(int a,int b) { ) return false; ) return true; &&(b==||b==||b==)) return true; &&(b==||b==)) return true; &…