欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF723B.Text Document Analysis
Text Document Analysis
题目描述
现代文本编辑器通常会显示一些有关正在编辑文档的信息。例如:单词数、页数或字符数。
在本题中,你需要实现类似的功能。
你将获得一个只包含如下字符的字符串:
- 大写和小写英文字母,
- 下划线符号(作为分隔符使用),
- 括号(包括左括号和右括号)。
确保所有左括号都有对应的右括号。类似地,每个右括号都与左括号配对。对于每一对匹配的括号,括号之间没有其他括号。换言之,字符串中的括号都是成对出现,且这些括号对不能嵌套。
例如,以下字符串是合法的:“_Hello_Vasya(and_Petya)__bye_(and_OK)”。
“单词”定义为一段最大长度的连续字母序列,即,该序列左右两边第一个字符应为下划线、括号或不存在于字符串中。例如,上面的字符串包含七个单词:“Hello”、“Vasya”、“and”、“Petya”、“bye”、“and” 和 “OK”。请编写程序,找出:
- 所有不在括号内的单词中,最长单词的长度(如果括号外不存在单词,则输出 );
- 括号内的单词总数(如果括号内没有单词,则输出 )。
输入格式
输入的第一行为一个整数 (),表示所给字符串的长度。第二行为由大小写英文字母、括号和下划线符号组成的字符串。
输出格式
输出两个以空格分隔的整数:
- 括号外最长单词的长度(如果没有,输出 );
- 括号内的单词总数(如果没有,输出 )。
说明/提示
在第一个样例中,单词 "Hello"、"Vasya" 和 "bye" 位于括号外,单词 "and"、"Petya"、"and" 和 "OK" 位于括号内。注意,单词 "and" 出现了两次,答案中应当计数两次。
由 ChatGPT 5 翻译
样例
37
_Hello_Vasya(and_Petya)__bye_(and_OK)
5 4
37
_a_(_b___c)__de_f(g_)__h__i(j_k_l)m__
2 6
27
(LoooonG)__shOrt__(LoooonG)
5 2
5
(___)
0 0
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |