Piyush and Magical Park

Print “Yes” or “No” depending on whether Piyush can escape or not. If the answer is “Yes”, also print the maximum strength that he can gather in the park in a new line.

Sample Input
4 4 5 20
. . * .
. # . .

    • . .
      . # * *
      Sample Output
      Yes
      13

How this 13 is calculated ??

Hello @mikki18,

You have to take the following points under consideration while solving this question:

  1. Initially, the strength is S
  2. if Piyush encounters *, strength increases by 5
  3. If he encounters ‘.’, strength decreases by 2
  4. Piyush requires the strength of 1 for every step
  5. Piyush can shift immediately from last of one row to the start of next one without loss of any strength(i.e. when he would change the row from the last element of the row)
  6. If he changes the row after encountering the ‘#’, then he loses 1 strength for changing the row.
  7. he needs at least K amount of strength

Output Format:
You have to print, “Yes” if at last, he has strength >=K.
else, print “No”
If the result is “Yes”, then print the strength that he can gather in the park.
But for, you don’t have to print anything in the second.
Let’s understand the sample Testcase:
4 4 5 20
. . * .
. # . .
* * . .
. # * *
S=20 and k=5;

A. first row:
20-2-1-2-1+5-1-2=16

B. second row:
16-2=14 (Now, he cannot move any further)

C. third row: -1 for changing the row (point 6.)
14-1+5-1+5-1-2-1-2=16

D. Fourth Row:
16-2-1=13

As 13 >=5, Print “Yes” and 13’

Hope, this would help.
Give a like if you are satisfied.

1 Like

in the hint video it was said that when piyush encounter’s ‘#’ then he can change to next row without loosing strength similar as piyush does not loose strength from last of one row to first of next row.
I did like this and all test cases got passed.
my new code is here


i think it is correct.

Hello @mikki18,

That decrementation is not actually for changing row.
It is for moving to that cell from the immediate left cell.

Hope, this is clear now.