CF723B.Text Document Analysis

传统题 时间 2000 ms 内存 256 MiB 5 尝试 46 已通过 10 标签

Text Document Analysis

题目描述

现代文本编辑器通常会显示一些有关正在编辑文档的信息。例如:单词数、页数或字符数。

在本题中,你需要实现类似的功能。

你将获得一个只包含如下字符的字符串:

  • 大写和小写英文字母,
  • 下划线符号(作为分隔符使用),
  • 括号(包括左括号和右括号)。

确保所有左括号都有对应的右括号。类似地,每个右括号都与左括号配对。对于每一对匹配的括号,括号之间没有其他括号。换言之,字符串中的括号都是成对出现,且这些括号对不能嵌套。

例如,以下字符串是合法的:“_Hello_Vasya(and_Petya)__bye_(and_OK)”。

“单词”定义为一段最大长度的连续字母序列,即,该序列左右两边第一个字符应为下划线、括号或不存在于字符串中。例如,上面的字符串包含七个单词:“Hello”、“Vasya”、“and”、“Petya”、“bye”、“and” 和 “OK”。请编写程序,找出:

  • 所有不在括号内的单词中,最长单词的长度(如果括号外不存在单词,则输出 00);
  • 括号内的单词总数(如果括号内没有单词,则输出 00)。

输入格式

输入的第一行为一个整数 nn1n2551 \leq n \leq 255),表示所给字符串的长度。第二行为由大小写英文字母、括号和下划线符号组成的字符串。

输出格式

输出两个以空格分隔的整数:

  • 括号外最长单词的长度(如果没有,输出 00);
  • 括号内的单词总数(如果没有,输出 00)。

说明/提示

在第一个样例中,单词 "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

建议全屏模式获得最佳体验