CodinGame sponsored challenge discussion

I feel like I am dumb dumb to this problem LOL.

Does the display output have anything to do with the game? I feel like it doesnā€™t but after looking through here, people keep mentioning walls and stuff, this really makes me curious as to how they know about these. I also must ask, since this is reverse engineering, does that mean we get the answer and need to make a problem that it solves? Thanks for the help.

You have to guess what it is about, the number of commands help. I donā€™t remember if the visual helps but I donā€™t think so.

Once you think about something, you can try different tests to validate your intuition.
If it succeeds, it means you were right.

Thatā€™s why people know what it is about, their tests were successful.

1 Like

Finally, I guessed what the game was about! But now, Iā€™m beginning to get frustrated with my algorithm (almost 970 points). Can anyone point me towards an algorithm to better my score?

Hi, I got 2764 :metal:
I know itā€™s been 5 years now but is the job offer still available ?

P.S. Really nice project, could be great to hide the rules too in one of the next challenge !

weā€™re still hiring, you can find the list here:
Offres d'emploi et stage - CodinGame

Did you try the hint button ? I discovered it very late and it could be helpful ^^

1 Like

Do you really think that cvxFous needs such an advice?

I really want to work in industry.

I just printed out debug the inputs. And I simplified the answer to just ā€¦editted outā€¦ . And I won.

I read the hint, something about moving? What I mean WTF?

I saw this as output ā€¦ # _ # _
It must be my time defusing atomic bombs. Then it was easy. The world shrunk down to the feeling of the wire and it was all about remembering not to stop. You just did what needed to be done.
So at the end of this reply. Since I started saying I am ready for some industry work. This was an amazing puzzle. I never solved something so complex, so fast, with no idea how brilliant I must be to have solved it.

Great Job!

Stephen Weber

Hey there ! ^^

I started the challenge last week and discovered quickly which was the puzzle about. But now, I got an inconvenient issue : the latest versions I wrote to improve my score checks all IDE tests but failed at 6th submission test (ā€œM3L3ā€), and with the lack of outputs or access to replays, itā€™s impossible to say what the code issue is about.

So, is there at least a possibility to print out the debug messages when a submission test failed ? Itā€™d really help to fix the code because I donā€™t know precisely where to searchā€¦

Probably not. But some of the discussion in this thread may help you.

Indeed, thanks for the tip : CodinGame sponsored challenge discussion - #66 by bam

New score of 2412 ! :smiley:

A little late to the party. Figuring it out on my own was extreemly fun and rewarding. :slight_smile: Currently with a score of 2100ish.

I still cant seem to figure out what the first 2 initial parameters are. The turn parameters were easy to figure out cause they change every turn and you can compare the changes based on the action. But how am I supposed to figure out something that is given only once per testcase and never changes. Everytime I have a guess, some other testcase invalidates it. I have spendt quite sometime on this, just cant seem to know what it actually is.

The STDERR getting cropped after a few turns kinda makes it hard to debug as well. Would be nice to not have that happen, atleast for this problem.

I still cant figure out what the naming convention means M1L1, M2L1, etc.. I havent spent much time figuring this part out though

Another thing I am stuck on is figuring out the EXACT behaviour. Sometimes it does what it should, sometimes it just doesnt. I cant tell what it is going to do in a given state.

If someone could give me some non-obvious hints, that would be helpful. Feel free to even DM me if you dont want to spoil it here for the others. :slight_smile: Cheers

I think this exercise is made to show us how to deals with retro-ingenering. And I realize that the first thing to do in this situation is to try the differents entries.

Hey again. ^^

Recently, Iā€™ve checked the leaderboard of the puzzle by curiosity and Iā€™ve seen something unusual : ~400 people ranked in top 1000 have 2532 points with Python3. So, I checked Google to see if someone had posted his/her own solution and I found this deposit (I didnā€™t check if it was the ā€œ2532 pointsā€ code or not).

As the goal of this puzzle is to determinate by ourselves its nature and its ways of resolution, copy-paste an available ready code isnā€™t kind of cheat to get easy points ?

@TwoSteps For your attention. Thank you.

If i can give an advice, donā€™t be afraid of random. When i take all my decisions without random, my score is 3395, and with random on one thing, my score is between 1800 and 3200 (not better) but exceptionnally 4200 (just once).

4 Likes

I resumed it two weeks ago and practically rework all of my code to make it more simple and readable ; and efficient, of course. Well, it was worth it. Even if all I have to do now is to work the outputā€™s decision from start, my AI is more efficient to analyze whatā€™s happening every turn and can scored much points even with a dumb decision system.

First AI, with BFS and a messy but good decision maker : 2412 points
New AI, with DFS and a simple decision maker : 2324 points

Still work to do, but I didnā€™t regret at all these efforts. Also, itā€™s only now that I had several issues with timeouts ; with the first version, it was essentially delivered input issues. So imo, itā€™s a good sign that the algorithm is evolving enough to improve greatly the high-score. ^^

EDIT (31/07/22) : The decision maker isnā€™t good enough to beat my current high-score, but Iā€™ve finally completed one of the test cases (M4L2 : 1005 points) only by improving my DFS with useful but simple heuristics. :smiley:

1 Like

It is very clever, because you can think that a random decision will help you but that not happend.

Good challenge. Just to be sureā€¦ Thereā€™s a limit of time, right ? (I mean : if it takes too long for my algorithm to compute, thereā€™s an error ?) Otherwise, I did an infinite loop, but I canā€™t see howā€¦