题解:洛谷 AT_abc443_a Append s
【题目来源】
洛谷:AT_abc443_a [ABC443A] Append s - 洛谷(luogu.com.cn)
【题目描述】
给你一个由小写英文字母组成的字符串 \(S\)。
输出在字符串 \(S\) 的末尾追加 s 后得到的字符串。
【输入】
输入内容按如下格式给出:
\(S\)
【输出】
输出一行表示答案。
【输入样例】
http
【输出样例】
https
【核心思想】
-
问题分析:给定字符串 \(S\),在其末尾追加字符
s后输出。这是一个字符串拼接问题,核心在于理解字符串的追加操作。 -
算法选择:
- 直接输出拼接:读取字符串后直接输出原字符串加
s
- 直接输出拼接:读取字符串后直接输出原字符串加
-
关键步骤:
- 读入数据:字符串 \(S\)
- 输出结果:\(S + \texttt{`s'}\)
-
时间/空间复杂度:
- 时间复杂度:\(O(|S|)\),读取和输出字符串
- 空间复杂度:\(O(|S|)\),存储字符串
-
字符串拼接的核心思想:
- 追加操作的语义:在字符串末尾添加一个字符,形成新字符串。代码中通过
cout << s << "s"实现,利用输出流的连续插入特性 - 边界情况:空字符串时输出
s;字符串本身以s结尾时(如ss)输出sss,追加操作无条件执行 - 适用于基础字符串操作类入门问题
- 追加操作的语义:在字符串末尾添加一个字符,形成新字符串。代码中通过
【算法标签】
入门 #字符串入门
【代码详解】
#include <bits/stdc++.h>
using namespace std;
string s; // 存储输入的字符串
int main()
{
cin >> s; // 从标准输入读取一个字符串
// 输出原字符串并在末尾添加字母's'
cout << s << "s" << endl;
return 0;
}
【运行结果】
http
https
浙公网安备 33010602011771号