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!");
}
相关文章
|
5天前
287--寻找重复数-indexOf-&&-sort
287--寻找重复数-indexOf-&&-sort
11 1
|
6月前
abc序列数
abc序列数
29 0
|
7月前
|
存储 容器
华为机试HJ23:删除字符串中出现次数最少的字符
华为机试HJ23:删除字符串中出现次数最少的字符
leet_code_696.计数二进制子串(分组计数)
leet_code_696.计数二进制子串(分组计数)
47 0
求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个数相加),几个数相加由键盘控制
704 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+去重
143 0
082.具有abcd=(ab+cd)2性质的数
082.具有abcd=(ab+cd)2性质的数
84 0
|
Java 索引
获取一个字符串在另一个字符串中出现的次数。 比如:获取“ ab”在 “abkkcadkab” 中出现的次数
获取一个字符串在另一个字符串中出现的次数。 比如:获取“ ab”在 “abkkcadkab” 中出现的次数
153 0
7-29 删除字符串中的子串 (20 分)
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。
247 0
ZZULIOJ-1065,统计数字字符的个数(Java)
ZZULIOJ-1065,统计数字字符的个数(Java)