Problem - 1190B - Codeforces

题目大意:有nnn堆石子,每堆的数目为aia_iai​,现在Alice和Bob两个人可以移走任意一堆不为空的石子中的一颗石子,如果某人移动完石子后,有两堆的石子数相同,那么另一个人获胜;如果某人当前没有可移动的石子,另一个人同样获胜。

题目大意:我们思考两种情况。
一种情况是当前局面已经存在只要移动就一定会失败的情况。那么此时至少有两对组合满足石子个数ai=aja_i=a_jai​=aj​,或者是形如2,3,32,3,32,3,3这种情况,无论怎么移动都会有相同石子。
第二种情况是两人最优取法最多能取多少个,最优的取法一定是不断地取,最终让石子堆形成一个从000开始的严格递增序列,那么我们计算一下最终可取的个数,判一下奇偶就可以了。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define syncfalse ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
const int N = 1e5+5;
ll a[N];
int main(){syncfalse#ifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);#endifint n;cin>>n;for (int i = 1; i <= n; ++i)cin>>a[i];sort(a+1, a+1+n);bool flag = false;for (int i = 1; i <= n; ++i){if (a[i])flag=true;}ll sum = 0;int num = 0;for (int i = 2; i <= n; ++i){if (a[i]==a[i-1]){if (a[i]==0)flag=false;else num++;}}if (num>1)flag=false;for (int i = 2; i < n; ++i){if (a[i]==(a[i-1]+1)&&a[i]==a[i+1])flag=false;}for (int i = 1; i <= n; ++i){ll tem = a[i]-i+1;if (tem<0)flag=false;sum+=tem;}if (sum%2==0)flag=false;if (!flag)cout << "cslnb\n";else{cout << "sjfnb\n";}return 0;
}

Problem - 1190B - Codeforces(分类讨论博弈)相关推荐

  1. Vasya and Multisets CodeForces - 1051C 模拟|分类讨论

    题意:把数组分成两个集合 每个集合中元素数量为1的个数相同(此个数可以是0) 分析: 这类问题就是要各种可能情况考虑到     然后分类讨论     完整地正确分类就AC     否则gg 如果数量为 ...

  2. CF1471 D - Strange Definition(思维,分类讨论,lcm,gcd的性质,数论)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #694 (Div. 2) D 很好的一道数论思维题 D - Str ...

  3. POJ 1664 求m个苹果放入n个盘子的不同放法数目 递归 分类讨论

    通过分类讨论,将规模较大的问题转换成规模较小的相同问题,学会"降维",将索引值不断降小,就可以递归求解 设f(m,n)为把m个苹果放到n个盘子中的方法数,m>=0,n> ...

  4. LC-1033. 移动石子直到连续(分类讨论)

    1033. 移动石子直到连续 难度中等50 三枚石子放置在数轴上,位置分别为 a,b,c. 每一回合,你可以从两端之一拿起一枚石子(位置最大或最小),并将其放入两端之间的任一空闲位置.形式上,假设这三 ...

  5. P2331 [SCOI2005]最大子矩阵(DP分类讨论)

    P2331 [SCOI2005]最大子矩阵(DP&分类讨论) 考虑dp解决. 若m=1m=1m=1则是一个简单的递推. 若m=2m=2m=2则是分情况讨论. 一个是当前行不取. 一个是选第一列 ...

  6. 分类讨论 ---- 2020 icpc 上海 Walker (二分 or 思维分类讨论)

    题目链接 题目大意: 就是两个人在坐标轴上面,有起始的坐标p1,p2p1,p2p1,p2,和速度v1,v2v1,v2v1,v2,问你访问完这长度为nnn的数轴最短时间是多少? 解题思路: 大佬有直接二 ...

  7. Unfair contest 模拟-分类讨论

    题意 : 两人比赛,n个裁判,给分范围[1,h][1, h][1,h],去掉s个最高分和t个最低分,给出n - 1个裁判的给分,第n个裁判想让第1个人赢,并且最小化给1的分数a[n]a[n]a[n] ...

  8. 2020ICPC(上海) - Walker(分类讨论+二分)

    题目链接:点击查看 题目大意:在长度为 n 的数轴上给出两个人的初始位置和速度,问使得每个位置至少被一个人走过的时间是多少 题目分析:分类讨论题目,分四种情况讨论即可,设 p1 < p2: p1 ...

  9. 【UOJ#33】【UR #2】树上GCD(长链剖分/根号分类讨论)

    [UOJ#33][UR #2]树上GCD 求解树上两个点到lca的距离的最大公约数是k的对数 首先我们很容易就想到莫比乌斯反演,那么利用倍数形式,我们只需要求解是i的倍数的对数. 考虑枚举lca,这个 ...

最新文章

  1. NEJM | 益生菌LGG治疗肠胃炎无效,Immunity|LGG促进生骨
  2. Web安全1沙箱隔离
  3. 第二次做HDOJ 1051
  4. 北京科技大学研究生考试 《工程热力学》(2003年-2011年)
  5. 问题 A: 【动态规划】采药_二维数组_一维数组
  6. html5提交按钮如何改成图片,HTML5 订阅按钮变成填充表单动效
  7. word2vec字向量_Anything2Vec:将Reddit映射到向量空间
  8. java 继承特点_java 继承特点
  9. IDEA左侧project导航栏设置背景色
  10. OpenCV 二值化分割方式
  11. uniapp发布苹果IOS测试版 下载无法安装
  12. b和kb的换算_kb和b换算(b kb mb换算)
  13. java找不到符号或方法,java 找不到符号解决方法
  14. Android DLNA投屏-基本原理
  15. 集合类(collection、List、Set、Map、HashMap、TreeMap、、Properties、泛型类、可变长参数、增强for循环、Collections、数组与链表)
  16. 【安卓源码】简单了解PSI
  17. Robomaster2020学习(一)——电机选型
  18. 那些很厉害的人是怎么构建知识体系的
  19. 如何一键完成照片转PDF文件格式?职场老师傅教你一招搞定它
  20. java位宽_在系统verilog中保留枚举中的位宽

热门文章

  1. CESS 测试网上线!首个提供多元应用场景的去中心化存储网络
  2. K8s集群重启与恢复-Node节点启停
  3. 弱电信息工程造价管理-建设单位管理费的说明
  4. 全国学生使用计算机的功能有哪些,读书郎学生电脑有哪些功能 读书郎学生电脑如何使用...
  5. 华为nova5por计算机怎么看历史记录,华为nova5pro返回操作方法
  6. bes2300之按键配置(二)
  7. 云计算机能否移动网络,移动云计算能实现吗?
  8. win7下 一键ghost/一键还原软件卸载后 删除相关开机启动选项
  9. Trello 获取apiKey 和token 自己也能开发todo程序
  10. vue+element,标题超出部分使用省略号表示