其实这题就是按照题目进行模拟。
每次读入一个字符串,并且得到它的长度x。
l等于当前这一行的长度。
然后分类讨论:
1. l + x <= k
则l += x
(谢谢@繁花似锦大神Orz的指正,本来手贱写成了l += k
)
2. l + x > k
则重新建一行
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k; scanf("%d%d", &n, &k);
string s; int l = 0;
for (int i = 1; i <= n; i++) {
cin >> s; int x = s.size();
if (l + x <= k) {
l += x;
if (i != 1) cout << " ";
cout << s;
}
else l = x, cout << endl << s;
}
return 0;
}
字符串还可以这样用;我以为这样写是输一个单词,打印一个单词
对
看懂啦!开心!
是
l += x
好滴,谢谢大佬指正
我大意了TQL
Orz谢谢大佬的支持
看你的题解很多次了,给我很大的启发,谢谢你
Thanks,Orz谢谢大佬了
aaa空格问题不太会呀
最后的空格吗?
嘿嘿是的
啊不对呀,其实有没有空格都没关系的hh,因为评测机没有把这东西放在心上……
okok
哈哈哈,一直看的都是你的题解,orz~
非常感谢
Orz谢谢资瓷了hh