LuoguP7694 [COCI2009-2010#4] AUTORI 题解
2024-09-05 07:18:31
Content
科学论文会大量引用一些早期的著作,因此在一个论文中出现两种不同的命名约定并不少见。这两种不同的命名约定分别是:
- 长变体,由每个作者姓氏的完整单词由连字符连接而成,例如
Knuth-Morris-Pratt
。 - 短变体,仅由每个作者姓氏的第一个字符拼接而成,例如
KMP
。
现在,你发现了一篇论文中同时使用了长变体和短变体这两种命名约定,你想编写一个程序,将所有的长变体变为短变体。
数据范围:字符串长度不超过 \(100\)。
Solution
供题人在此谢罪,一开始没有把长变体中的每个单词开头一定是大写字母这个条件翻译上来,但貌似并不影响?如果没有翻译出来这个条件,也只需要将每个连字符 -
后的字符或第一个字符直接拿出来拼在一起就好了。
当然,有了长变体中的每个单词开头一定是大写字母这个条件之后,这道题目就非常简单了。在 cctype
/ctype.h
库里面有一个 isupper()
函数,它可以判断当前的字符是否是一个大写字母。于是,我们直接遍历整个字符串,逢大写字母就输出即可。
Code
下面的代码是 COCI 官方给出的代码。
#include <string>
#include <iostream>
#include <cctype>
using namespace std;
int main() {
string a;
cin >> a;
for (int i = 0; i < (int)(a.size()); i++)
if (isupper(a[i]))
cout << a[i];
return 0;
}
最新文章
- codevs 1472 体检
- windows系统中WIN键的快捷组合
- Types of Learning
- .NET ORM 的 “SOD蜜”--零基础入门篇
- [转]解决vista和win7在windows服务中交互桌面权限问题:穿透Session 0 隔离
- 【转】c++笔试题
- Ubuntu14.04配置Apache支持多个站点
- HDU 2544 最短路(模板题——Floyd算法)
- Mysql 源码:关于innodb中两次写的探索
- 分享一个基于web的满意度调查问卷源码系统
- js 深度复制deepClone
- @ResponseBody注解
- solr与tomcat集成
- python 爬虫之 selenium API
- #Linux第四周学习总结——扒开系统调用的三层皮(上)
- 【ArcGIS】ArcGIS Data Store配置
- JS设计模式——4.继承(示例)
- vnpy自动化交易
- 2018.12.31 Failed to load JavaHL Library.错误解决
- SQL小练习