[COCI2009-2010#4] AUTORI
题目背景
伟大的科学发现一般是以科学家的姓氏命名,比如说,最流行的非对称密码系统 RSA 是由三位叫做 Rivest、Shamir 和 Adleman 的科学家发现的,而更为熟知的则是 Knuth-Morris-Pratt 算法,这个算法是由三位叫做 Knuth、Morris 和 Pratt 的科学家命名的。
题目描述
科学论文会大量引用一些早期的著作,因此在一个论文中出现两种不同的命名约定并不少见。这两种不同的命名约定分别是:
- 长变体,由每个作者姓氏的完整单词由连字符连接而成,例如
Knuth-Morris-Pratt
。 - 短变体,仅由每个作者姓氏的第一个字符拼接而成,例如
KMP
。
现在,你发现了一篇论文中同时使用了长变体和短变体这两种命名约定,这让你感到很不愉快,因此你想编写一个程序,将所有的长变体变为短变体。
输入格式
输入仅一行,一个字符串,代表在论文中出现的长变体。
每一个长变体中的单词开头一定是大写字母。
输出格式
输出仅一行,一个字符串,代表长变体经过变换以后的短变体。
样例 #1
样例输入 #1
Knuth-Morris-Pratt
样例输出 #1
KMP
样例 #2
样例输入 #2
Mirko-Slavko
样例输出 #2
MS
样例 #3
样例输入 #3
Pasko-Patak
样例输出 #3
PP
提示说明
【数据范围】
对于所有数据,满足字符串的长度不超过
100
100
100,且仅包含大小写英文字母和连字符 -
。
【题目来源】
本题来源自 COCI 2009-2010 CONTEST 4 T1 AUTORI,按照原题数据配置,满分 30 30 30 分。
由 Eason_AC 翻译整理提供。
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
string a;
cin>>a;
for(ll i=0;i<a.size();i++)
{
if(isupper(a[i]))
cout<<a[i];
}
return 0;
}