DYZIO - Dyzio
Dyzio is Jasiek's friend and he also likes riddles. Here is a riddle he came up with:
Unfortunately mom hid the scissors from Jasiek, but luckily a computer was at hand and Jasiek quickly wrote a program simulating the string cutting. Can you write such a program?
Write a program which
- reads (from standard input) description of the way the string is cut,
- counts how many cuts have to be made in order to get the first shortest piece.
- writes out the outcome (to standard output)
Ten test cases (given one under another, you have to process all!). Each test case consists of two lines. In the first line there is a number n (1<=n<=20000). In the second line one zero-one word (a sequence of zeros and ones without spaces between them) of length n - the description of the cutting procedure given by Dyzio.
For every testcase your program should write (to the standard output) only one line with one integer equal to the number of cuts which have to be made in order to get the shortest piece.
Input: 9 110011000 [and 9 test cases more] Output: 4 [and 9 test cases more]
To get accepted in Python, use sys.setrecursionlimit(20000), otherwise it will end up in an NZEC. Got several NZECs due to that. Also use, try catch in an infinite loop with break on exception while reading input.
easy recursion :)
Done without recursion :)
(Tjandra Satria Gunawan)(æ›¾æ¯…æ˜†):
For those who confuse / didn't completely understand problem description you can go to forum (discuss) and search "DYZIO" there are clear sample case explanation by tripleM on the forum.
As tainic says, indeed, this one is a beautiful question. :)
how to put this problem in tutorial -:)
John and the cows:
length(string) div 2+1, I think ????
how to divide a string in half when its length is odd
can someone explain how to cut and how we get 4 to test case given.
Nice! This goes into my list of beautiful problems.