[Community Puzzle] Bijective Numeration

https://www.codingame.com/training/medium/bijective-numeration

Send your feedback or ask for help here!

Created by @David_Augusto_Villa,validated by @Kaplone,@Andriamanitra and @Witman.
If you have any issues, feel free to ping them.

Should have been in easy, or maybe even a clash.

Not a CoC, easy is just fine.

Fun note: there’s a puzzle called Spreadsheet Labels in the Hard section that is basically the same problem with radix 26 and only alphabetic symbols ^^

@pardouin Indeed, there is this one too (except it starts at A = 0, so represented numbers are shifted by one).

So there’s suggestion for clash, precedent for hard, and at least mention of everything inbetween. Hopefully we can agree it’s not very hard, yes?

I’d personally label it easy but I don’t care if it’s medium, difficulty rankings are not very important.

For sake of posterity:

I had initially marked it easy, but those puzzles tend to be things like conditionals and loops. Bumped to medium when several people (more than 2) commented it was trickier than expected. Intermediate skills like encoding and radix imply medium level difficulty anyway.

In my honest assessment, Spreadsheet Labels should also be medium.

1 Like

Hi. I failed at Validator 7 and I don’t understand why because I’ve passed all the tests. If anyone has an hint, please feel free to share it with me. Thanks

I’d like to investigate, but I don’t see your solution listed, perhaps because it hasn’t fully passed yet. Is there any way you can directly share it with me?

Hi, thank you. Maybe on discord?

I did it in 7 minutes so may be a CoC (even if it is an hard one).

Else it is easy… (I wasn’t sure at first that the result should be given as standard number, the given example should stress that somehow !)

CodinGame community-games-creation

Either that, or I can turn the validator into a test case, and fill in with 2 new validators. Then you’d be able to see it.

1 Like

I sent a message on discord. This the second option seems good to me too. I could see for myself where the problem lies.

Got it, great! The problem is in your generation, not parsing. You should be able to see it fail the new test case now, but let me know if you’d like me to look further.

During the creation process 3 people said this is trickier than supposed, but they didn’t actually say it should be bumped up to medium. Given the relatively high success rate (85%), I now realize I should have listened to the commenters in this thread. 4 people said it was easy, a couple even suggesting a clash (altho 7 minutes is over the limit for clash). So I’d like to mend my mistake, and modify the difficulty level. Easy was my original inclination, after all. But what’s taken some time to understand is how similar problems fare so differently.

Spreadsheet labels: The same core problem in base 26 using letters, either direction. Hard, 56% success rate, 4.3 stars.
Solid Integer: The same core problem in base 9, one direction only (numeration to value), but very different presentation. Medium, 39% success rate, 4.2 stars.
Decode the message: One direction only (value to numeration), but with an arbitrary alphabet. Easy, 67% success rate, 4.0 stars.
Next Car License Plate: Mixed base system, but only asks for next value. Easy, 69% success rate, 4.5 stars.

Assuming that encoding + decoding in a different base is a medium level problem, I think this qualifies as easy only because it is base 10, so presumably easier to reason about. After all, a lot of base ten numbers have the same numeration. The two other easy problems are more difficult in some ways, but require less overall. In particular, the next license plate doesn’t require understanding the mathematical structure, you can just keep incrementing.

I wonder if there could be a psychological reason why people stick it thru when it’s a cryptographic secret, despite ultimately not enjoying the experience, apparently. In contrast, when presented more as a counting problem, people who don’t realize the underlying mathematical logic wind up quitting after getting stuck with a brute force solution that times out. Subtle differences, very different results, and quite interesting.