CF236A Boy or Girl(找字符数,可以考虑去重)

简介: CF236A Boy or Girl(找字符数,可以考虑去重)

题目描述



Those days, many boys use beautiful girls' photos as avatars in forums. So it is pretty hard to tell the gender of a user at the first glance. Last year, our hero went to a forum and had a nice chat with a beauty (he thought so). After that they talked very often and eventually they became a couple in the network.


But yesterday, he came to see "her" in the real world and found out "she" is actually a very strong man! Our hero is very sad and he is too tired to love again now. So he came up with a way to recognize users' genders by their user names.


This is his method: if the number of distinct characters in one's user name is odd, then he is a male, otherwise she is a female. You are given the string that denotes the user name, please help our hero to determine the gender of this user by his method.


输入格式



The first line contains a non-empty string, that contains only lowercase English letters — the user name. This string contains at most 100 letters.


输出格式



If it is a female by our hero's method, print "CHAT WITH HER!" (without the quotes), otherwise, print "IGNORE HIM!" (without the quotes).


题意翻译



那些日子,许多男孩在论坛上使用漂亮女孩的照片作为化身。所以很难在第一眼就知道用户的性别。去年,我们的英雄去了一个论坛,和一位美女聊天(他想是这样)。之后,他们经常交谈,最终他们成为了网络中的一对情侣。


但是昨天,他在现实世界里看到了“她”,发现“她”其实是一个非常强壮的男人!我们的英雄很伤心,他太累了,不能再爱了。因此,他想出了一种通过用户名来识别用户性别的方法。


这是他的方法:如果用户名中的不同字符数是奇数,那么他是男性,否则她是女性。您给出了表示用户名的字符串,请用我们的方法帮助我们的英雄确定这个用户的性别。


如果是女生,输出 CHAT WITH HER!;如果是男生,则输出IGNORE HIM!。


输入输出样例



输入

wjmzbmr


输出  

CHAT WITH HER!


输入

xiaodao


输出

IGNORE HIM!


输入  

sevenkplus


输出  

CHAT WITH HER!


首先我们分析我们可以遍历一遍,然后我们统计每个字符的数目,然后我们再遍历一遍只要出现有字符大于0的我们就加1;最后判断这个加的数是不是奇数或者偶数,就行了,

还有一种方法就是去重函数,首先我们先拍好序,然后我们再用erase和unique函数解决,具体操作看代码;


一般代码;

#include <bits/stdc++.h>
using namespace std;
int a[37],ans;
int main()
{
  char s;
  while (cin >> s)
    {
      a[s-96]++;
    }
  for (int i = 1; i <= 26; i++)
    {
      if (a[i] != 0) ans++;
      } 
  if (ans % 2 == 0) cout << "CHAT WITH HER!";
    else cout << "IGNORE HIM!"; 
 } 


去重代码

#include<bits/stdc++.h>
using namespace std;
string s;
int main(){
  cin>>s;
  sort(s.begin(),s.end());
  s.erase(unique(s.begin(),s.end()),s.end());
  puts(s.size()&1?"IGNORE HIM!":"CHAT WITH HER!");
}
相关文章
|
4月前
|
语音技术
语音识别,print(“Hello“,end=‘‘)不换行的写法,\t代表着tab,print(“H\tW“),for循环的基础语法,把字符串遍历的写法,数itheima is有几个a
语音识别,print(“Hello“,end=‘‘)不换行的写法,\t代表着tab,print(“H\tW“),for循环的基础语法,把字符串遍历的写法,数itheima is有几个a
|
5月前
|
C++
【洛谷 B2025】输出字符菱形 题解(raw string literal)
使用`*`构建一个斜置的、对角线长度为5的菱形。无输入要求。输出示例:`*`、`***`、`*****`、`***`、` *`。代码实现使用C++,直接打印预定义字符串完成。
72 0
|
6月前
7.求sum=a+aa+aaa+···+a···a(n个a),其中a和n由键盘输入
7.求sum=a+aa+aaa+···+a···a(n个a),其中a和n由键盘输入
30 0
|
11月前
|
C语言
C语言第二十六弹--求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字
C语言第二十六弹--求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
754 0
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
【CCCC】L3-020 至多删三个字符 (30分),序列dp+去重
【CCCC】L3-020 至多删三个字符 (30分),序列dp+去重
175 0
【CCCC】L2-021 点赞狂魔 (25分),map数组,间接排序
【CCCC】L2-021 点赞狂魔 (25分),map数组,间接排序
130 0