用于检查第一个玩家是否可以赢得游戏的程序,在该游戏中,玩家可以在C ++中逐个字符地形成字符串
假设我们有一个单词列表。现在考虑一个幽灵游戏,两个玩家可以参与其中。此处,玩家交替在字符串后附加字母。并且所生成的字符串必须是列表中单词的有效前缀,拼写出列表中任何单词的玩家都会输掉。我们必须检查第一个玩家是否可以赢,如果两个玩家都处于最佳状态。
因此,如果输入类似于words=[“manage”,“manager”,“min”],那么输出将为True,因为它们可以像-
范例(C++)
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h>
using namespace std;
bool solve(vector<string> &words) {
map<char, set<string>> mp;
for (auto &it : words) {
char ch = it[0];
mp[ch].insert(it);
}
int mn = INT_MAX;
for (auto &it : mp) {
string str = *(it.second.begin());
int size = str.size();
if (size % 2 == 0)
return 1;
}
return 0;
}
int main(){
vector<string> v = {"manage", "manager", "min"};
cout << solve(v);
}输入值
{"manage", "manager", "min"}输出结果1
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短