[每日一题]AcWing 1442. 单词处理器

 

1442. 单词处理器 - AcWing题库

 

 

输入样例:

10 7
hello my name is Bessie and this is my essay

输出样例:

hello my
name is
Bessie
and this
is my
essay

样例解释

第一行包含 7 个非空格字符,包括 “hello” 以及 “my”。

再加入 “name” 会使得第一行包含 11>7个非空格字符,所以这个单词会被放到下一行。

 

(双指针模拟) 

复制代码
 1 #include <iostream>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 const int N = 110;
 7 string s[N];
 8 int sum[N];
 9 int main()
10 {
11     int n, m;
12     cin >> n >> m;
13     
14     for(int i = 1; i <= n; i ++){
15         cin >> s[i];
16         sum[i] = sum[i-1] + s[i].size();
17     }
18 
19     for (int i = 1, j = 1; i <= n; )
20     {
21         while(sum[j]-sum[i-1] <= m && j <= n){
22             j ++;
23         }
24         for(int k = i; k < j; k ++){
25              cout << s[k];
26              if(k != j-1) cout << " ";
27         }
28         cout << endl;
29         i = j;
30     }
31     return 0;
32 }
复制代码

 

posted @   泥烟  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示