CF723B Text Document Analysis

题目描述

现代文本编辑器通常会显示一些有关正在编辑文档的信息。例如:单词数、页数或字符数。 在本题中,你需要实现类似的功能。 你将获得一个只包含如下字符的字符串: - 大写和小写英文字母, - 下划线符号(作为分隔符使用), - 括号(包括左括号和右括号)。 确保所有左括号都有对应的右括号。类似地,每个右括号都与左括号配对。对于每一对匹配的括号,括号之间没有其他括号。换言之,字符串中的括号都是成对出现,且这些括号对不能嵌套。 例如,以下字符串是合法的:“\_Hello\_Vasya(and\_Petya)\_\_bye\_(and\_OK)”。 “单词”定义为一段最大长度的连续字母序列,即,该序列左右两边第一个字符应为下划线、括号或不存在于字符串中。例如,上面的字符串包含七个单词:“Hello”、“Vasya”、“and”、“Petya”、“bye”、“and” 和 “OK”。请编写程序,找出: - 所有不在括号内的单词中,最长单词的长度(如果括号外不存在单词,则输出 $0$); - 括号内的单词总数(如果括号内没有单词,则输出 $0$)。

输入格式

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

输出格式

输出两个以空格分隔的整数: - 括号外最长单词的长度(如果没有,输出 $0$); - 括号内的单词总数(如果没有,输出 $0$)。

说明/提示

在第一个样例中,单词 "Hello"、"Vasya" 和 "bye" 位于括号外,单词 "and"、"Petya"、"and" 和 "OK" 位于括号内。注意,单词 "and" 出现了两次,答案中应当计数两次。 由 ChatGPT 5 翻译