思路:
模拟过程,如果长度小于要求,先输出一个空格,然后输出单词,注意的是如果最开始的情况下,不可以先输出空格。
如果长度大于要求,则先输出回车,然后输出单词,更新cnt
代码:
#include<iostream>
#include<string>
using namespace std;
int n,k;
int main(){
cin>>n>>k;
int cnt = 0;
while(n--){
string s;
cin>>s;
//如果 长度小于要求
if(cnt + s.size() <= k){
// 不是第一个
if(cnt) cout<<" ";
cout<<s;
cnt += s.size();
}
//否则先输出空格 后输出单词
else{
cout<<endl<<s;
cnt = s.size();
}
}
return 0;
}
评论区