CF723B.Text Document Analysis
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Modern text editors usually show some information regarding the document being edited. For example, the number of words, the number of pages, or the number of characters.
In this problem you should implement the similar functionality.
You are given a string which only consists of:
- uppercase and lowercase English letters,
- underscore symbols (they are used as separators),
- parentheses (both opening and closing).
It is guaranteed that each opening parenthesis has a succeeding closing parenthesis. Similarly, each closing parentheses has a preceding opening parentheses matching it. For each pair of matching parentheses there are no other parenthesis between them. In other words, each parenthesis in the string belongs to a matching "opening-closing" pair, and such pairs can't be nested.
For example, the following string is valid: "_Hello_Vasya(and_Petya)__bye_(and_OK)".
Word is a maximal sequence of consecutive letters, i.e. such sequence that the first character to the left and the first character to the right of it is an underscore, a parenthesis, or it just does not exist. For example, the string above consists of seven words: "Hello", "Vasya", "and", "Petya", "bye", "and" and "OK". Write a program that finds:
- the length of the longest word outside the parentheses (print 0, if there is no word outside the parentheses),
- the number of words inside the parentheses (print 0, if there is no word inside the parentheses).
现代文本编辑器通常会显示一些有关正在编辑的文档的信息,例如单词数、页数或字符数。
在本题中,你需要实现类似的功能。
你将得到一个仅由以下字符组成的字符串:
- 大写和小写的英文字母,
- 下划线符号(用作分隔符),
- 圆括号(包括左括号和右括号)。
保证每个左括号都有一个对应的右括号在其后;同样,每个右括号也都有一个对应的左括号在其前。对于每一对匹配的括号,其间不包含其他任何括号。换言之,字符串中的每个括号都属于某一对匹配的“左-右”括号,且这些括号对之间不能嵌套。
例如,如下字符串是合法的:_Hello_Vasya(and_Petya)__bye_(and_OK)。
单词 是指由连续字母构成的最长序列,即该序列左侧第一个字符和右侧第一个字符均为下划线、括号,或者该位置不存在字符。例如,上面的字符串包含七个单词:“Hello”、“Vasya”、“and”、“Petya”、“bye”、“and” 和 “OK”。
请编写一个程序,找出:
- 所有括号外的单词中最长单词的长度(若括号外没有单词,则输出
0); - 所有括号内的单词个数(若括号内没有单词,则输出
0)。
输入格式
The first line of the input contains a single integer n (1 ≤ n ≤ 255) — the length of the given string. The second line contains the string consisting of only lowercase and uppercase English letters, parentheses and underscore symbols.
输入的第一行包含一个整数 n(1≤n≤255)—— 给定字符串的长度。第二行包含一个字符串,该字符串仅由小写和大写英文字母、括号以及下划线符号组成。
输出格式
Print two space-separated integers:
- the length of the longest word outside the parentheses (print 0, if there is no word outside the parentheses),
- the number of words inside the parentheses (print 0, if there is no word inside the parentheses).
输出两个以空格分隔的整数:
- 括号外最长单词的长度(若括号外无单词,则输出 0),
- 括号内单词的数量(若括号内无单词,则输出 0)。
输入输出样例
输入#1
37 _Hello_Vasya(and_Petya)__bye_(and_OK)
输出#1
5 4
输入#2
37 _a_(_b___c)__de_f(g_)__h__i(j_k_l)m__
输出#2
2 6
输入#3
27 (LoooonG)__shOrt__(LoooonG)
输出#3
5 2
输入#4
5 (___)
输出#4
0 0
说明/提示
In the first sample, the words "Hello", "Vasya" and "bye" are outside any of the parentheses, and the words "and", "Petya", "and" and "OK" are inside. Note, that the word "and" is given twice and you should count it twice in the answer.
在第一个样例中,单词 “Hello”、“Vasya” 和 “bye” 均位于任意括号之外,而单词 “and”、“Petya”、“and” 和 “OK” 均位于括号之内。注意,单词 “and” 出现了两次,因此在答案中应将其计数两次。
输入解题思路,AI测评打分。不知道怎么写?