https://www.codingame.com/training/easy/asteroids
Send your feedback or ask for help here!
Created by @XorZy,validated by @codybumba,@AgathokakologicalBit and @tuna_in_cream.
If you have any issues, feel free to ping them.
https://www.codingame.com/training/easy/asteroids
Send your feedback or ask for help here!
Created by @XorZy,validated by @codybumba,@AgathokakologicalBit and @tuna_in_cream.
If you have any issues, feel free to ping them.
Nice little puzzle.
I lazily casted int instead of actually using the floor function to round down and it didn’t work at first cause it would round -0.5 to 0 instead of -1.
So don’t be lazy and use the proper floor function
Lots of fun!
The puzzle implicitly assumes that the visible path of an asteroid is a straight line, which holds only if t1, t2, t3 are close. Of course, fair enough for an easy puzzle.
It would be a very tough math/physics (not coding) problem if we would need to take into account gravity, Sun, Earth rotation, pictures taken on different days, etc.
If you go that route, you’d need to know general relativity for space time curvature
I used int
with Python and it worked.
Interesting. int(-0.5) should definitely return 0 instead of -1, thus causing the asteroid “V” to appear in the final picture when it should be out of screen.
Perhaps the reason it worked is because you are filtering out negative coordinates before the conversion?
Keep it in mind for Asteroids Ep. 2
For JVM users, there is a not widely known method, Math.floorDiv(), fits well for this purpose.
Yes I am and it wasn’t on purpose.
I don’t understand that part of statement:
If two or more asteroids have the same final coordinates, output only the closest one .
The closest one is determined how if the coordinates are the same? If I have A(0,1) B(0,1) C(0,1) which one is the closest one and why?
A is closer than B, that is closer than C, and so on.
It’s in the statement.
True, I don’t know why but I couldn’t see it.
Thank you
OK what is happening with “Greater delta”??? The A clearly moves 4 spots, then it suddenly moves 1 spot? This is extremely confusing.
OH time is a part of it. ok
So after 5 mins including time differences, I figured it out.
Yeah it wouldn’t make sense to provide three different times as input if you’re not supposed to use them
I wouldn’t disagree, and to be honest I rushed this one due to it being late. But that being said, many many puzzles have unused information. Or at least information gathered from other means work. But you’re not wrong.
Hi, I passed all the test and all validators except the last “Validator 10”… I didnt hard code any thing to pass the last test case, Not able to debug too … can anyone help me? Coding language: Python
If you round down with int, try with math.floor instead.
It’s hard to tell what you did wrong without seeing your code but here are a few things to consider :
Use floats and not integers to compute the coordinates
Use floor on the final result, not int() as it will cause rounding issues
Make sure you discard asteroids that are outside the picture (x<0,y<0,x>=W,y>=H)
Make sure you only output the closest asteroid in case more than one have the same coordinates (A being the closest)
I used int
and my solution passed all the validators.