b969 - hello, everyone
題目描述
題目要求讀取兩行字串,第一行包含以空格分隔的人名,第二行包含問候語。對於第一行中的每個人名,輸出問候語、逗號、空格以及該人名。
解題思路
程式碼首先讀取兩行字串,分別儲存在 a 和 b 變數中。然後,它遍歷字串 a,使用空格作為分隔符號來提取人名。每次遇到空格或到達字串末尾時,將提取的人名 c 和問候語 b 輸出到螢幕上,並清空 c 以準備提取下一個人名。
複雜度分析
- 時間複雜度: O(n),其中 n 是輸入字串 a 的長度。
- 空間複雜度: O(n),其中 n 是輸入字串 a 的長度,因為
c字串最壞情況下可能儲存整個a字串。
程式碼
#include <iostream>
#include <string>
using namespace std;
int main(){
std::ios::sync_with_stdio(false);
cin.tie(NULL);
string a,b,c;
getline(cin,a);
getline(cin,b);
for(int i=0;i<a.length();i++){
c+=a[i];
if(a[i]==' '||i==a.length()-1){
cout << b << ", " << c << endl;
c.clear();
}
}
}