B. Little Girl and Game【1300 / 回文字符串 博弈论】

在这里插入图片描述
https://codeforces.com/problemset/problem/276/B
由于可以重新排列,然后双方又是最优选择,我们只需要考虑一下奇数个数的字母了,看有多少种,此时连忙想到了用map维护一下,统计个数,最后我们只要判断一下奇数个字母的个数是否为奇数或者不存在奇数个字母,那么此时先手是必赢的,反之后手赢

#include<bits/stdc++.h>
using namespace std;
map<char,int>mp;
int main(void)
{
	string s; cin>>s;
	for(int i=0;i<s.size();i++) mp[s[i]]++;
	bool flag=0;
	int sum=0;
	for(auto i=mp.begin();i!=mp.end();i++) if(i->second&1) sum++;
	if(sum==0) flag=1;//没有奇数个数的字母
	if(sum&1) flag=1;//奇数个数字母的个数是奇数
	if(flag) puts("First");
	else puts("Second");
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值