Решение задачи Девочка и игра с Codeforces

Без пояснения   Просмотров: 18


Девочка очень любит задачи про игры. Вот одна из них.

У двух игроков есть строка s, состоящая из строчных букв латинского алфавита. Они играют в игру, которая описывается следующими правилами:

Игроки ходят по очереди; За один ход игрок может удалить из строки s произвольную букву.
Если игрок перед своим ходом может перемешать буквы в строке s таким образом, чтобы получился палиндром, этот игрок побеждает. Палиндром — строка, которая одинаково читается в обоих направлениях. Например, строка «abba» — палиндром, а строка «abc» — нет.
Определите, кто из игроков победит при оптимальной игре обеих сторон — тот, кто ходит первым, или тот, кто ходит вторым.

Код

#include<bits/stdc++.h>
using namespace std;
string s;
int a[200],o;
int main()
{
	cin>>s;
	for(int i=0;i<s.size();i++)
		a[s[i]]++;
	for(int i='a';i<='z';i++)
		if(a[i]%2)
			o++;
	if(o<2||o%2)
		cout<<"First";
	else
		cout<<"Second";
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться