RPLG - Goto & labels
Vero is working on an important company, the company noticed that Vero codes using goto labels, her boss does not want Vero to code this kind of programs, the boss tells her that he will cut her payment by the number of lines contained between the label and the goto.
Vero does not know any iterative structures, and she is too worried to code the program she is asking you for, Code a solution for Vero's problem.
The solution to this is to count the lines of code that are between the label and the goto statement, having in consideration that the goto will always return to an existent label, the label will consist on a single string formed by letters from the 'a' to the 'z' and from the 'A' to the 'Z', all labels will have the format as the goto will always contains the format goto , however, remember that before the labels and the gotos you can have an important amount of spaces that will count as an indentation of a code.
Note: An uppercase letter label is distinct from a lowercase letter label, by example: 'abc' is not equal to 'ABC'
INPUT:
The first line of input will contain an integer T denoting the T test cases, then, T cases will follow. Each of the following line will contain an integer N, then, N lines will follow, each of the next N lines will contain a string S.
OUTPUT:
Output the string “Scenario #i: “ where i is the test case you are analyzing followed by the sum of the number of lines between the label and the goto.
SAMPLE DATA:
INPUT |
OUTPUT |
3 6 A: SPACES will InDeNt the CoDe No TaBs ArE iN the >> test << data goto A; B: goto B; 7 B: A: cin >> n; if(n<0) then goto A; else goto B; 7 A: TumbaBicho: printf("goto TumbaBicho"); printf("goto TumbaBicho"); goto TumbaBicho; AA: goto A; |
Scenario #1: 2 Scenario #2: 7 Scenario #3: 7 |
CONSTRAINTS:
1<=N<=10000
1<= Length of string <= 1000
hide comments
Piyush Raman Srivastava:
2014-01-23 17:07:22
Thanks to the constraints clarification by @:D !! Last edit: 2014-01-23 17:22:54 |
|
Brian Curcio:
2012-07-23 23:38:38
My bad, didn't read there could be multiple goto's for same label Last edit: 2012-07-23 23:54:24 |
|
Zhouxing Shi:
2012-07-14 07:24:57
I've just understand the problem! |
|
Srijan Kumar:
2012-05-26 19:58:30
Are these assumptions ok:
|
|
Samuel Nacache:
2012-05-26 19:58:30
One of my favorite problems =D
|
|
david_8k:
2012-05-26 19:58:30
Your program must support multiple jumps, however, there will be no labels with the same name and the goto will contain any existíng label from 0 to n-1, being n the line of the goto... Hope this helps |
|
:D:
2012-05-26 19:58:30
As I understand the description, there is no such guarantee. You should implement multiple jumps.
|
|
Saurabh Jain:
2012-05-26 19:58:30
nice problem !! |
Added by: | david_8k |
Date: | 2012-05-05 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | Own Problem used for the RPL contest |