OCAC暑期比赛第一场 G题 男孩或者女孩 题解

男孩或者女孩
原题链接:http://codeforces.com/problemset/problem/236/A
【题目描述】
现如今,很多男孩在论坛中使用漂亮女孩的照片作为头像。所以确定一个用户的性别就变成了一个困难的事情。
去年,我们的聪聪进入了一个论坛,并且和一个(他认为是)女生相谈甚欢。
他们聊得非常投机,满满地,他们开始了网恋。
但是,就在昨天,聪聪和她的“女朋友”在现实世界中碰了面,并且发现这个“她”其实是一个非常强壮的男人!
我们的聪聪倍感心伤,感觉不会再爱了。
于是我们的聪聪提出了一套根据用户名确定性别的算法。
这套算法是这么实现的:
如果一个用户的用户名中不同的单词个数是奇数个,那么他是一个男生;否则(偶数个),她是一个女生。
给你一个用户的用户名,请使用聪聪的这套算法来确定他是一个男生还是一个女生。
【输入格式】
输入包含一个仅包含小写英文字母的非空字符串,用于表示用户的用户名。该字符串的长度不会超过100。
【输出格式】
根据聪聪的算法,如果得出这个用户是一个女生,则输出“CHAT WITH HER!”;否则(男生),则输出“IGNORE HIM!”。
【输入样例1】
wjmzbmr
【输出样例1】
CHAT WITH HER!
【输入样例2】
xiaodao
【输出样例2】
IGNORE HIM!
【输入样例3】
sevenkplus
【输出样例3】
CHAT WITH HER!
【题目分析】
这道题目我们其实只要开一个长度为 26 的数组,用于记录 'a' 到 'z' 这 26 个单词都有没有出现过。
然后统计一下出现过的单词的个数是奇数还是偶数就可以了。
实现的代码如下:

#include <bits/stdc++.h>
using namespace std;

bool vis[26];
string s;
int n, cnt;

int main() {
    cin >> s;
    n = s.length();
    for (int i = 0; i < n; i ++) {
        vis[ s[i] - 'a' ] = true;
    }
    for (int i = 0; i < 26; i ++) if (vis[i]) cnt ++;
    puts(cnt % 2 ? "IGNORE HIM!" : "CHAT WITH HER!");
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/ocac/p/11113435.html