• 字符串入门练习题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;
    }
    
  • 相关阅读:
    人月神话第二遍(总)--读书笔记
    Python实现人脸检测(个人、多人、视频)
    软件体系架构的质量属性
    jdk1.8 使用的是什么垃圾回收器?
    【深入理解Java虚拟机】垃圾回收
    P2167 [SDOI2009]Bill的挑战
    二项式反演基础
    P5039 [SHOI2010]最小生成树
    快速莫比乌斯/沃尔什变换 (FMT/FWT)
    莫比乌斯反演
  • 原文地址:https://www.cnblogs.com/zifeiynoip/p/11450584.html
Copyright © 2020-2023  润新知