Skip to main content
9 of 14
Update rules
Jacajack
  • 511
  • 2
  • 16

Falling ASCII balls

##Input

You are given 2D map with balls and ground in it. It looks like that:

  1         5          2
                 3
     4


__________________________

Each number is a ball, and the _ is ground level. _ character is not allowed in any other line than ground level line. There are only spaces, newlines and digits 0-9 allowed above ground level. You cannot assume that last line is the ground level - empty lines below ground level are allowed. You can also add spaces, to fill empty lines, if that does help you

Balls can have numbers from 0 to 9, can be placed above each other, but not under ground. Ball's numbers are ought to be unique.

Assume that each character is one meter.

Get map from pastebin!
Test case 1
Test case 2

Challenge

Your challenge is to read map like that (either from a file or from stdin - you are allowed to use cat balls.txt | ./yourexecutable) and output velocity of each ball, when it hits the ground.

Here's the formula for velocity:

enter image description here

Also, assume, that h is line number difference between ground's line number, and ball's line number, and that g equals 10m/s^2.

Output

You should output each balls number and velocity is m/s at ground level. For example N - Vm/s. Where N is ball number, and V is its velocity. You can also output array if you want.

Happy coding! :)

Jacajack
  • 511
  • 2
  • 16