字符串入门练习题7 男孩或者女孩 题解

题目出处: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;
}

转载于:https://www.cnblogs.com/zifeiynoip/p/11450584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值