name
问题 A: name
时间限制: 1 Sec 内存限制: 256 MB
题目描述
lpq同学最近突然对外国人的名字产生了兴趣,特别是外国女生的名字,于是他开始试图去认识一些国外的女生。
随着认识的女生数量越来越多,lpq发现他的脑子不够用了——他不能准确地记住每个女生的名字。终于有一天,当他又把Hello Kitty和Dear Amy的名字弄混并遭到暴力后,他突发奇想:如果我把每个人的名字按不同部分的首字母变成缩写,就便于记忆,也就不会把名字弄混了。
比如:Hello Kitty简写成HK,Dear Amy简写成DA。
lpq还决定,对于名字简写长度大于5(不包括5)的女生,他便放弃交往。
但是lpq认识的女生太多了,于是他想到了作为神犇的你,请你帮助他。
输入
第一行输入一个整数N(N<=10000),表示女生的人数。
接下的N行,每行包含一个字符串,为一个女生的全名,其中名字不同部分之间用’~!@#$%^&*()’分隔,字符串的长度不大于100。
保证输入的字符只有字母及’~!@#$%^&*()’(不包括引号)。
输出
输出第一行为一个整数K,表示可以继续交往的女生人数。
接下来K行,每一行包括由若干字母组成的字符串,表示对应名字的缩写。
样例输入
3 Hello@#^Kitty Dear~^Amy Sro~Li~Pei~Qian
样例输出
3 HK DA SLPQ
#include <stdio.h>
#include <ctype.h>
char name[110], str[10010][110];
int main()
{
int n, ans, j;
while (~scanf("%d", &n))
{
ans = 0;
while (n--)
{
j = 0;
scanf("%s", name);
if (isalpha(name[0]))
str[ans][j++] = name[0];
for (int i = 1; name[i]; i++)
{
if (!isalpha(name[i-1]) && isalpha(name[i]))
str[ans][j++] = name[i];
}
str[ans][j] = '\0';
if (j <= 5)
ans++;
}
printf("%d\n", ans);
for (int i = 0; i < ans; i++)
printf("%s\n", str[i]);
}
return 0;
}随机推荐
- Javascript - Jquery - 筛选
筛选(JQuery Selector) JQuery是一个JavaScript库,它极大地简化了JavaScript编程.整个JQuery库的方法都在$这个工厂函数里,我们只需要使用$函数,而$函数会 ...
- Gulp简明使用教程
Glup用自动化构建工具增强你的工作流程! 同类型的软件还有Grunt.关于两者的区别可以参考这篇文章Grunt VS Gulp 安装: $ npm install gulp -g $ npm ins ...
- 20165237 2017-2018-2 《Java程序设计》第5周学习总结
20165237 2017-2018-2 <Java程序设计>第5周学习总结 教材学习内容总结 1.内部类:在一个类中定义另一个类:外嵌类:包含内部类的类. 2.内部类的类体中不能声明类变 ...
- ActiveMQ常见消息类型
JMS由下面三部分组成:消息头.属性.消息体.其中消息体定义了五种消息体格式,也可以称为消息类型. JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage. ...
- CF1105E Helping Hiasat
题目地址:CF1105E Helping Hiasat 首先将问题转化成图论:对每个人建立一个点,将同一次修改后的所有人代表的点两两连一条边,那么最终所求的就是这个图的最大独立集 我们知道最大独立集是 ...
- Delphi 三层框架 DataSnap 的服务器端设置
elphi 三层框架 DataSnap 的服务器端设置: DataSnap 框架有三个模块:DataSnap Server,Server Module,DataSnap Client Module. ...
- 通过全备+relaylog同步恢复被drop的库或表【转】
MySQL 中drop 等高危误操作后恢复方法 实验目的: 本次实验以恢复drop操作为例,使用不同方法进行误操作的数据恢复. 方法: 利用master同步 伪master+Binlog+同步 利用b ...
- python3+selenium入门05-元素操作及常用方法
学习了元素定位之后,来看一些元素的操作,还有一些常用的方法 clear()清空输入框内容 click()点击 send_keys()键盘输入 import time from selenium imp ...
- mongodb 创建更新语法
创建文档 向MongoDB插入数据,使用insert, 如:db.refactor.insert({"refactor's blog":"http://www.cnblo ...
- hibernate框架学习之对象状态
lHibernate对象共有三种状态 •瞬时状态:瞬时对象 •持久化状态:持久化对象 •托管状态:托管对象 l瞬时对象(Transient Object),简称TO l瞬时对象指的是应用程序创建出来的 ...