Chef and Ridges

It’s my 4th day on this problem, I’m now bald and my wife left me. I literally tried everything on this problem.

Starting with the first thing that came up in my mind, to working with big numbers and finally to LITERALLY outputing the answers I MEASURED for the first 5 foldings.

I’ve read the problem again and again, bought all the paper my city had and tried folding them to observe the exact answer. Done this with all the paper in my country and when there was no paper left I went out in the woods, cut some trees and made my own paper and I still can’t seem to find the right answer.

God has abandoned me.

7 Likes

Ha, nice. That’s me on pretty much every contest. Well, keep at it, or come back to it later when the editorial is out.

1 Like

Problem is not well explained and its vague. Test cases should be more than one at least. I commented multiple times but no response from admin. Super annoying. If somebody could help with N=3 at least I can get some idea.

“I’ve read the problem again and
again, bought all the paper my city
had and tried folding them to observe
the exact answer. Done this with all
the paper in my country and when there
was no paper left I went out in the
woods, cut some trees and made my own
paper and I still can’t seem to find
the right answer.”

You are not a solitary person trying to solve PRDRG in such a manner. #Same_here. Tried (almost) all possible combinations for N<=5 but it seems that chef isn’t happy with my recipe yet. :frowning:

1 Like

What would be the answer for n=3 btw?

1 Like

problem not mentioned clearly, it took me 2 days to solve , after trying folding the paper in different ways ,I finally solved it. It was easy one to code, just find pattern how paper being folded.

1 Like

The problem is very easy to solve once you have understood it. The test cases aren’t very clear in explaining the problem. In this problem you have to find the distance of the latest ridge formed after n folds(order of folding is right to left then left to right) from the initial left side. Perform this on a paper. The solution becomes pretty clear.

Problem was super fine…and it’s good that setter has provided only 2 test cases…otherwise , problem could not make any sense. it would be easier to solve if n=3 also get provided.

I have also tried many times this question…but at last i got the pattern and simply solve it…( but i also spoiled 6-7 pages to understand the question ).

Must watch my solutions , i have literally solved for all values of n…

2 Likes

I too had a hard time figuring out, just started by folding paper and marked the distance on paper it was 1/2, 1/4, 3/8, 5/16, 11/32 now You have to just find the pattern

arr = 1, 1, 3, 5, 11
ans = (2*arr[n-2] + arr[n-1]) / 2^n

Just providing an alternate solution.

Simply the sum of the GP series 1/2 - 1/4 + 1/8 - 1/16… needs to be calculated.
The sum of GP series can be manually calculated in terms of n as sum = a(1 - r^n)/(1-r), where a = 1/2 and r = -1/2.
Since r is negative there will be two different cases for n = odd and n = even.
From the formula you can get the numerator and denominator, reduce them to their simplest form (using gcd) and that will be your answer.

In case you need a reference

nth term of the series was simply the average of (n-1)th and (n-2)th term. Since denominator was always even and numerator always come out to be odd giving us irreducible fraction everytime.
Here’s my solution: CodeChef: Practical coding for everyone

For any n, the values are (2^n+1)//3 and 2^n (where // rounds the division down to integer).

I worked this out by converting the entire Amazon rainforest into paper. Hope no-one noticed.

1 Like

it is not that difficult also.
T(1)=1/2,
T(2)=1/2-1/4,
T(3)=1/2-1/4+1/8,
.
.
.
, T(n)=1/2-1/4+1/8-1/16+1/32…+(-1^(n+1))*(1/2)^n.
Just solve this G.P and you will get the answer

took some time… but was exciting to find values for n=4,5 and based on the sequence obtained …drawing conclusions…

Please go through my code… check at bottom for explanation… i used “-dash rather than paper to solve this stuff :stuck_out_tongue:

https://www.codechef.com/viewsolution/21554147

I found a cool pattern too.
I compute numerator and denominator separately. Kind of DP style, where numerator value for n foldings depends on the numerator value for n-1 foldings.
Two arrays num[] and den[] are used for numerator and denominator.
Set base case num[1], den[1], num[2], den[2] as 1, 2, 1, 4 respectively.(for 1/2, 1/4)

for i = 3 to i = N (here N = 25 max constraint):
   den[i] = 2^i
   if i is odd: num[i] = 2 * num[i-1] + 1
   if i is even: num[i] = 2 * num[i-1] - 1

So we have precomputed till N.
We just need to display num[n] and den[n] for any given value of n (no. of foldings) now.
My Solution: CodeChef: Practical coding for everyone

I posted it in the PRDRG - Editorial topic but I’ll post it here too cuz why not?


The first ridge is at distance \frac12, the second is at \frac{1}{2}-\frac{1}{4}, the third ridge at \frac{1}{2}-\frac{1}{4}+\frac{1}{8}, the fourth ridge is at \frac{1}{2}-\frac{1}{4}+\frac{1}{8}-\frac{1}{16}

Notice a pattern?
The n^{\text{th}} ridge is at a distance of

\sum_{i=1}^{n} -(-2)^{-i} = \frac{2^n-(-1)^n}{3\times 2^n}.

Now 2 clearly does not divide 2^n-(-1)^n and 3 does.

So, the numerator is \frac{2^n-(-1)^n}{3} while the denominator is 2^n.

My solution

Time complexity: O(1)

I had the same problem when one of my senior told me that I interpreted it wrong. Only the top layer needs to be folded each time that makes it 1/2 1/4 3/8 and so on. I have done it by adding the fractions. Have attached the link to the code. For any further queries, feel free to ask any question.

Link to the code

I surely won’t leave this unsolved.

1 Like

Feedback Forwarded to setting panel XD

4 Likes

C’mon… find another wife who will help you to solve this problem!! 18 hrs left…

7 Likes