题目描述
小 R 是一个可爱的女孩子,她希望通过给洛谷题目写题解的方式跟出题人贴贴。
她发现,如果从题解界面点击“提交题解”按钮,博客中会自动生成 URL 标识符,也就是文章的链接。
其中,标识符的生成规则如下:
- 将题号的所有大写字母转为小写。
- 将上一步结果的所有下划线转为减号。
- 在上一步结果前面加上
solution-
。
她准备给一道题目写题解,已知这道题的题号,你能求出 URL 标识符吗?
输入格式
一行,一个字符串 �s,表示题号。
输出格式
一行,一个字符串,表示 URL 标识符。
输入输出样例
输入 #1复制
P9202
输出 #1复制
solution-p9202
输入 #2复制
CF1797F
输出 #2复制
solution-cf1797f
输入 #3复制
AT_abc312_h
输出 #3复制
solution-at-abc312-h
说明/提示
样例 33 解释
根据生成规则:
- 将题号的所有大写字母转为小写:
at_abc312_h
。 - 将上一步结果的所有下划线转为减号:
at-abc312-h
。 - 在上一步结果前面加上
solution-
:solution-at-abc312-h
。
数据范围
本题共 1010 个测试点,每个测试点 1010 分。
对于全部数据,保证题号仅包含大写字母(ASCII 65∼9065∼90)、小写字母(ASCII 97∼12297∼122)、数字(ASCII 48∼5748∼57)、下划线(ASCII 9595),且长度不超过 2020。
对于全部数据,答案中应当仅包含小写字母(ASCII 97∼12297∼122)、数字(ASCII 48∼5748∼57)、减号(ASCII 4545)。
- 对于测试点 11:保证为主题库题目。
- 对于测试点 22:保证为入门与面试题目。
- 对于测试点 3∼43∼4:保证为 CodeForces 题目。
- 对于测试点 5∼65∼6:保证为 SPOJ 题目。
- 对于测试点 7∼87∼8:保证为 AtCoder 题目。
- 对于测试点 9∼109∼10:保证为 UVA 题目。
水题那就直接 上代码!
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s;
cin >> s;
// 将大写字母转为小写
transform(s.begin(), s.end(), s.begin(), ::tolower);
// 将下划线替换为减号
replace(s.begin(), s.end(), '_', '-');
// 在前面加上前缀
string url_identifier = "solution-" + s;
// 输出结果
cout << url_identifier << endl;
return 0;
}