[CF276B] Little Girl and Game
[CF276B]
Description
给定字符串 \(S\) ,两人轮流,每次从字符串中任意取出一个字符并从原串中删去。如果某人某次操作前,串种剩余的字符集合经过排列可以得到回文串,那么这个人就胜利。求胜负。
Solution
显然这个字符串可以看成一个字母多重集合。那么我们统计出每种字符出现的次数。考虑有多少种字母出现次数为奇数次,记为 \(m\) 。如果 \(m \le 1\) ,那么先手胜利。
\(k=2\) 时,先手可以将将一个奇数次转化为偶数次,那么后手胜利;先手也可以将一个偶数次转化为奇数次,假如可以进行这样的操作,那么后手将这个新转化的奇数次转化为偶数次,局面回归到与开局等价的状态,直到某个时刻先手不能再制造出新的奇数次,此时必然后手胜。
\(k=3\) 时,先手先将一个奇数次转为偶数次,这样就转化到了 \(k=2\) 的状态,先后手状态偏移,于是先手胜利。
\(k=4\) 时,先手可以先将一个奇数次转化为偶数次,那么这时候转化为 \(k=3\) 故后手胜利;先手也可以先将一个奇数次转化为偶数次,然后仿照 \(k=2\) 情况进行后续,到某个时刻先手不能再制造出新的奇数次,此时必然后手胜。
同理可得后续情况。
#include <bits/stdc++.h>
using namespace std;
string str;
int a[205],m;
int main()
{
ios::sync_with_stdio(false);
cin>>str;
for(int i=0;i<str.length();i++)
{
a[str[i]]++;
}
for(int i='a';i<='z';i++)
{
if(a[i]&1) ++m;
}
if(m<=1) cout<<"First"<<endl;
else cout<<(m&1?"First":"Second")<<endl;
}
[CF276B] Little Girl and Game的更多相关文章
随机推荐
- 灵活运用SQL Server2008 SSIS变量
在SSIS开发ETL(Extract-Transform-Load),数据抽取.转换.装载的过程.我们需要自己定义变量 一.SSIS变量简介 SSIS(SQL Server Integration ...
- win10自带邮箱如何使用?win10自带邮箱如何同步qq邮箱邮件?
win10自带邮箱如何使用? 相信很多小伙伴在登录win10自带的邮箱登录QQ邮箱时,显示同步失败或者登录超时,但又找不到相关的资料,下面是我自己邮箱的操作流程,小伙伴可以尝试一下,有什么问题留言即可 ...
- Newtonsoft--自定义格式化日期
public string ToJson(object obj, string timeFormat) { try { IsoDateTimeConverter timeConverter = new ...
- 从接口自动化测试框架设计到开发(二)操作json文件、重构json工具类
用例模板里的请求数据多,看起来很乱,所以可以通过访问另外一个文件的方式获取请求数据 把请求数据都放在一个json文件中 取出login的内容: import json fp = open('G:/un ...
- Uva10791 唯一分解定理模板
唯一分解定理: Uva10791 题意: 输入整数n,要求至少两个正整数,使得他们的最小公倍数为n,且这些整数的和最小 解法: 首先假设我们知道了一系列数字a1,a2,a3……an,他们的LCM是n, ...
- 优先级队列-堆-STL实现
#include <cstdio> #include <iostream> #include <queue> using namespace std; // 默认是 ...
- python之三目运算符的替代品?
# 不知曾几何时,你是否也觉得Python的三目运算写起来很麻烦呢?(没有过) # 比如: a, b = 3, 4 c = a if a > b else b d = a if a < b ...
- 【你不知道的javaScript 上卷 笔记7】javaScript中对象的[[Prototype]]机制
[[Prototype]]机制 [[Prototype]]是对象内部的隐试属性,指向一个内部的链接,这个链接的作用是:如果在对象上没有找到需要的属性或者方法引用,引擎就 会继续在 [[Prototyp ...
- Redis可能出现的问题
缓存穿透 一般出现这样的问题,是因为当我们查询一条肯定不存在的数据的时候,缓存中没有,就会透过缓存来查询数据库,数据库也不存在,这样就不会将值保存在缓存中,最后还是缓存和数据库中都没有,如果一直访问这 ...
- 0级搭建类004-中标麒麟 Linux 安装 (V7.0) 公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...