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!");
}
相关文章
|
网络安全
应用开发通过nfs来mount失败解决办法mount.nfs: Connection timed out
应用开发通过nfs来mount失败解决办法mount.nfs: Connection timed out
2476 0
|
11月前
|
监控 供应链 搜索推荐
阿里妈妈商品详情API接口:开发、应用与收益的深度剖析
阿里妈妈是阿里巴巴旗下的数字营销平台,其商品详情API接口为开发者提供了获取淘宝、天猫等电商平台商品详细信息的工具。本文介绍了该接口的开发流程、应用场景及带来的收益,揭示了其在电商生态中的重要地位。
743 6
|
运维 Cloud Native Java
Java项目部署的发展流程
本文对比分析了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署及云原生部署。传统部署直接在物理机上运行程序,存在资源复用难等问题。虚拟化部署通过虚拟机技术实现了资源的有效隔离与利用,但可能会造成性能损失。容器化部署则进一步提升了应用的可移植性和资源利用率,减轻了运维负担。云原生部署结合容器化、微服务等技术,实现了应用的快速迭代、高效运维和灵活扩展,适用于现代互联网应用的开发与部署。每种方式均针对其特点进行了详细的流程描述与优缺点分析。
221 2
|
存储 Oracle 关系型数据库
分享几个Oracle数据库日常维护中常见的问题
分享几个Oracle数据库日常维护中常见的问题
332 1
|
NoSQL 关系型数据库 MySQL
|
存储 编译器 C语言
还在为每次打开程序的输入烦恼吗,这篇文章让你不在迷茫
在之前我们编写的程序中,我们总要录入一些数据给予程序用于计算,但是当我们退出程序后录入的数据会销毁,因为此时数据都是存放在内存中。等到下次再运行程序时,数据又得从新录入,这样就非常的难受。
201 0
还在为每次打开程序的输入烦恼吗,这篇文章让你不在迷茫
|
网络协议 Android开发
|
Cloud Native 云计算 开发者
云原生之旅:从容器化到微服务
【8月更文挑战第24天】本文旨在为初学者揭开云原生技术的神秘面纱,通过实际的代码示例和清晰的步骤引导,我们将一起探索如何将传统应用转化为云原生应用。文章不仅涉及了容器化和微服务的基本概念,还包括了如何利用这些技术来构建可扩展、高可用的系统。无论你是软件开发者还是IT专业人士,这篇文章都将为你打开一扇通往现代云计算的大门。
|
C# Windows
WPF技术之Border控件
WPF(Windows Presentation Foundation)的Border控件用于创建一个可视的边框,可以将其他控件包裹在内。
914 0
WPF技术之Border控件
|
缓存 运维 监控
使用go-zero微服务框架实现云监控后台(二.远程指令下发)
使用go-zero微服务框架实现云监控后台(二.远程指令下发)