Ad
  • Default User Avatar

    Thank you, B1ts, I solved it! But I'm not sure whether it handles everything correctly. Tests are random... Anyway, can't way to see others' solution 8-)

  • Default User Avatar

    ok, replying myself: I've just passed example tests, and the step-by-step debug info works for real tests.

  • Default User Avatar

    Python translation: uncommenting see_states = True doesn't seem to work (I'm only told my solution was wrong and the expected final answer, but no step-by-step info to help me debugging), at least for tests (I did not submit my solution). Or, is it designed to work with "real" test cases only so I have to debug the example tests on my own?

  • Default User Avatar

    ahhhh... you're right! I misread this part. Thank you!

  • Default User Avatar

    No, because as soon as it touches another gem of its color (if another gem lands next to it), no matter if powergem or not, everything around it gets destroyed (including itself ofc).

    huh? I thought it only destroy itself if it LANDS on a gem of its color. What about this:

    R
    RrB
    

    First, rB lands on the ground on step 1, then a vertical pair RR lands immediately to its left on step 2. Will r destroy BB to its left and also destroy itself in step 2? If no, then we can throw another vertical RR on r then theoretically we got a 2x2 red gem containing one crash gem.

    Btw, there's 1 tip that I can give you, and it's that the tests are very thorough and you have to account for every possibility. You may think you could take some shortcuts, or avoid certain situations, but it won't work. Soon enough, you can end up with a lot of spaghetti code :P

    Oh, thanks! Then I'm giving myself an additional challenge to minimize the time spent from submitting my first solution to solving this problem 8-)

  • Default User Avatar

    Another small question: can crash gems be part of a power gem? I think not, but I can't find a clear rule about it. Technically, a crash gem also has a color anyway.

  • Default User Avatar

    Oops, I was in a hurry when replying the last time, and now that I found I didn't make it clear that in my last example, S,1,2 are all red gems, so they cannot merge with Green gems. So maybe 1 expand left one, 2 cannot expand? Anyway, I'll try myself soon, and thanks again!

  • Default User Avatar

    Thank you! I'll try.

  • Default User Avatar

    Thanks! That's very clear. Just to confirm: Power gems are processed from top to bottom, left to right? For example:

    000000
    000S11
    00SS11
    0022GG
    0022GG
    

    We process 1 first, so 1 is able to expand, but 2 cannot. If we process 2 first then only 2 can expand.

    Also, merging can take several steps, like this?

    S11S
    S11S
    2222
    2222
    

    1 first expands to left and right, then expand down so all of them merge into a giant power gem?

  • Default User Avatar

    This is an intersting problem and I've already started coding. However, it's not very clear to me that how to expand exsiting Power Gems. Suppose the following board just after dropping the pair (I don't know whether it's a reachable state, but...)

    0000033
    0000033
    0000033
    0011133
    2211133
    2211133
    

    All the gems are red, the number denotes the id of power gems (0 are indivial, 1 is the 1st power gem, 2 is the 2nd power gem). After merging individual gems:

    4444433
    4444433
    4444433
    0011133
    2211133
    2211133
    

    Now, will all the gems (2 individual gems + 4 power gems) merge into a giant power gem? If not, what's the exact rule of merging? Thanks!

    EDIT: board in the last edition was wrong...