[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 Server无备份误删数据的恢复
在正式生产数据库中,因为客户现场管理不规范产生了一条错误数据,由于自身睡眠不佳加上客户方言表达,将编号记错,在没有备份的情况下,直接连远程数据库执行了delete操作. 由于备份设置的是每日0点,当天 ...
- 纪中18日c组模拟赛
T2 GMOJ2127. 电子表格 (File IO): input:excel.in output:excel.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 ...
- opencv —— erode、dilate 腐蚀与膨胀
腐蚀与膨胀是形态学滤波.其中,腐蚀是最小值滤波,膨胀是最大值滤波,即分别选取内核中的最小值与最大值赋值给锚点.若内核为 N×1 或 1×N 形状,可用于横纵方向直线检测. 膨胀:dilate 函数 v ...
- Kali Linux中Chrome浏览器不能启动的问题
kali中自带了Chromium Web Browser,我点了几次没反应.我还以为是Chrome的版本问题.于是下载了Chrome的deb包. 安装中还解决了一个包依赖问题.安装成功还是不能启动.于 ...
- IDA PRO
链接:https://pan.baidu.com/s/1LTXhXra5Honpn3L9rfSOgA 提取码:7bwb 工具下载地址: https://www.jb51.net/softjc/5799 ...
- 关于Comparable和Comparator那些事
在实际项目开发过程中,我们经常需要对某个对象或者某个集合中的元素进行排序,常用的两种方式是实现某个接口.常见的可以实现比较功能的接口有Comparable接口和 Comparator接口,那么这两个又 ...
- python scraping webs - python取得NIPS oral paper列表
from lxml import html import requests # using xpath # page = requests.get('http://econpy.pythonanywh ...
- Selenium3+python自动化014-自动化测试框架的作用
1.能够有效组织和管理测试脚本 2.进行数据驱动或者关键字驱动的测试 3.将基础的测试代码进行封装,降低测试脚本编写的复杂性和重复性 4.提高测试脚本维护和修改的效率 5.自动执行测试脚本,并自动发布 ...
- 最新NetSarang Xmanager安装激活-XShell、XFtp
NetSarang Xmanager Enterprise 是一个简单易用的高性能的运行在 Windows 平台上的 X Server 软件.它能把远端 Unix/Linux 的桌面无缝地带到你的Wi ...
- Hibernate 和Mybatis的区别
Hibernate 和Mybatis的区别 1.hibernate 入门门槛高,是一个标准的ORM框架(对象关系映射),不需要程序写sql,sql语句自动生成,对sql语句进行优化.修改比较困难. ...