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;
}随机推荐
- Python 14 Html 基础
内容概要 html静态页面,标签介绍 HTML简述 定义: HTML,超文本标记语言,写给浏览器的语言,目前网络上应用最广泛的语言.HTML也在不断的更新,最新版本已经出现了HTML5.在HTML5中 ...
- Idea实用配置
参考:https://github.com/judasn/IntelliJ-IDEA-Tutorial 1.代码提示不区分大小写 2.跳到指定行 Ctrl + G Ctrl 快捷键 介绍 Ctrl + ...
- google 变量命名规则简要记录
1.文件命名规则 好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:文件名要全部小写, 可以包含下划线 (_) 或连字符 (-). 按项目约定来, 例如:cmd_save ...
- MongoVUE 使用教程
MongoVUE是一款针对MongoDB的客户端工具,现在连接数据库也叫数据模式有2种方法,一种是B/S结构的数据库,通过网页就可以访问.另外一种就是基于C/S客户端的连接方式,本次为大家分享的这一个 ...
- 题解-ZJOI2015地震后的幻想乡
Problem bzoj & 洛谷 题意简述:给定一个\(n\)(\(n\leq 10\))个点\(m\)条边的无向图,每条边的权值为一个\(0\)到\(1\)之间的连续随机变量,求图的最小生 ...
- 题解-BOI 2004 Sequence
Problem bzoj & Luogu 题目大意: 给定序列\(\{a_i\}\),求一个严格递增序列\(\{b_i\}\),使得\(\sum \bigl |a_i-b_i\bigr|\)最 ...
- git与eclipse集成之代码冲突与解决
1.1. 代码冲突与解决 目前使用git管理代码,产生冲突的原因,主要是当多个人向特性分支提交代码时,如果两个人修改了同一个文件,第二个人提交代码时就可能会冲突. 举例说明: 创建远程特性分支.远程个 ...
- 转换简体中文和繁体中文 cconv-0.6.2 for win32 static
dos状态下 chcp 65001 echo "转换简体中文和繁体中文"|cconv -f utf-8 -t utf8-tw 显示 "轉換簡體中文和繁體中文" ...
- JS中的进制转换
1 前言 js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现. 仅作为记录. 2 代码 //10进制转为16进制 (10).to ...
- Tp5自动验证
<?php class DB { private $address = 'mysql.21future.com'; private $username = 'manbang'; private ...