题意:
给n堆石子,每一堆有a[i] 个 石头,现在二人玩游戏,每一人每一次选择一个非空的石头堆,从中拿出一个石头。如果当一个人操作之后,这n堆石头中有两堆中的石头数量是相同的,那么这个人就输掉。假设二人绝对聪明,请判断是先手赢还是后手赢。

题解:

先特判先手必输的情况

1.有两堆为0

2.有三堆数量相等

3.有两对堆分别数量相等

4.  x  x  x-1

然后考虑决出输赢前的最终状态一定是  0,1,2,3,4……n-1

用石子总数sum-最终状态前一步石子总数 判断奇偶

 1 #include<cstdio>
 2 #include<algorithm>
 3 using namespace std;
 4 const int N=100000+15;
 5 int n; long long a[N],sum;
 6 inline bool judge()
 7  {if(n>1 && a[1]==0 && a[2]==0) return 1;
 8
 9   int cnt=0;
10   for(int i=1;i<n;i++)
11    {if(a[i]==a[i+1]) cnt++;
12     if(cnt>=2) return 1;
13    }
14   for(int i=1;i<=n-2;i++)
15    if(a[i]==a[i+1]-1 && a[i+1]==a[i+2]) return 1;
16
17   return 0;
18  }
19 int main()
20  {
21  scanf("%d",&n);
22  for(int i=1;i<=n;i++)    {scanf("%lld",&a[i]); sum+=a[i];}
23
24  sort(a+1,a+n+1);
25
26  if(judge()) {printf("cslnb"); return 0;}
27
28  sum=sum-1ll*(n-1ll)*n/2;
29  if(sum&1)  printf("sjfnb");
30  else       printf("cslnb");
31
32 return 0;
33  }

转载于:https://www.cnblogs.com/YuXiaoze/p/11237745.html

【博弈】Codeforces Round #573 (Div. 1) Tokitsukaze, CSL and Stone Game相关推荐

  1. Codeforces Round #573 (Div. 2)(ABCD)

    Tokitsukaze and Enhancement CodeForces - 1191A Tokitsukaze is one of the characters in the game &quo ...

  2. Codeforces Round #726 (Div. 2) D. Deleting Divisors 博弈

    传送门 文章目录 题意: 思路: 题意: 给你一个数nnn,有两个人博弈,每次可以将nnn减去一个nnn的因子,这个因子不能为111或nnn.当不能操作的人输掉游戏.问你先手赢还是后手赢. 思路: 这 ...

  3. Codeforces Round #724 (Div. 2) F. Omkar and Akmar 组合数学 + 博弈

    传送门 文章目录 题意: 思路: 题意: 思路: 首先我们先来研究一下这个游戏,手画几个会惊奇的发现,后手这个b怎么怎么画都赢啊???对,没错,就是怎么画都赢,下面我们来证明一下为什么后手怎么画都赢. ...

  4. Codeforces Round #260 (Div. 2)

    Codeforces Round #260 (Div. 2) 题目链接 A:水题,事实上仅仅要推断有没有一个ai != bi就可以,由于都保证是1 - n的不相等数字 B:找到2 3 4的循环节,发现 ...

  5. Codeforces Round #693 (Div. 3)A~G解题报告

    Codeforces Round #693 (Div. 3)A~G解题报告 A Cards for Friends 原题信息 http://codeforces.com/contest/1472/pr ...

  6. [Codeforces Round #668 (Div. 2)]1405

    文章目录 A - Permutation Forgery B - Array Cancellation C - Balanced Bitstring [思维] D - Tree Tag [博弈][df ...

  7. Codeforces Round #789 (Div. 2)题解

    Codeforces Round #789 (Div. 2)题解 A. Tokitsukaze and All Zero Sequence 原题链接 算法标签 贪心 排序 思路 情况一:数组存在零 → ...

  8. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  9. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

最新文章

  1. GNU ARM汇编--(十七)u-boot的makefile和mkconfig解读
  2. Kotlin基础-扩展
  3. jquery.imageScroller实现图片滚动
  4. NumPy 数组学习手册·翻译完成
  5. MySQL索引(如何设计索引)
  6. Java web中不同浏览器间导出Excel文件名称乱码问题解决方案
  7. zxr10交换机配置手册vlan_最新中兴ZXR10交换机配置资料
  8. 安装Anaconda3 5.2.0后只有Anaconda Prompt,没有spyder等
  9. 2021年皓丽新品- 86KD1 86寸纳米智慧黑板(电容屏)-产品说明
  10. 路由器的两个端口接在同一个交换机上_交换机到底有什么用啊?
  11. 根据设计稿,用JS计算rem的值
  12. 曾辉机器人_真棒!全球青少年人工智能大赛高中组冠、亚、季军都是安康娃!...
  13. COUNTIF、COUNTIFS、SUMIF、SUMIFS用法详解
  14. 车主必看,2021年车险改革内容,2022年车险改革
  15. 链接被微信拦截(被封锁、被屏蔽、被和谐)最新方法
  16. java基于ssm开发的电视剧播放视频系统页面很漂亮哦
  17. Scratch软件编程等级考试一级——20191221
  18. node实现登录状态保持(cookie-session/token)
  19. r library car_大样本OLS模型假设及R实现
  20. 【学术相关】顶级论文创新点怎么找?中国高校首次获CVPR最佳学生论文奖有感...

热门文章

  1. Dubbo搭建监控中心
  2. python3 web界面_python3 web更新和web查看日志的功能
  3. CSS之看穿绝对定位
  4. leetcode 5 Longest Palindromic Substring Java JavaScript解法
  5. 彻底理解 Android 中的阴影 1
  6. ZooKeeper 典型的应用场景
  7. Android设计模式——抽象工厂方法模式
  8. C# 操作MSSQL数据库类
  9. linux 架设J2EE网站过程分享之二 —— JDK安装
  10. 第1章 ASP.NET 3.5与开发工具