Ad
  • Custom User Avatar

    Great kata! I spent a lot of time debugging and in the end figured out that the problem was float precision issues.
    I hope the tests are done in a way that two circles are never almost tangent (unless one is included in the other), since to avoid precision issues one needs to allow some room when checking inequalities.

    By the way, in order to plot circles for debugging purposes, one can use GeoGebra online, which has very simple scripting features.

  • Custom User Avatar

    Something does not work with Python, as reported by other users. Even just writing "return 'R'" in the function body, it takes 6-12 seconds to pass/fail all the tests; sometimes it even times out. Some administrator should consider removing the Python version entirely.

  • Custom User Avatar

    See the other version; this one has wrong code description

  • Custom User Avatar

    My solution does not work if the king is attacked but hidden behind some other piece (found this issue while refactoring).

  • Custom User Avatar

    Ah whoops I just looked at the first two examples and thought that (x,y) corresponds to grid[x][y], while it's actually grid[y][x]

  • Custom User Avatar

    In the last basic test I get the grid

    [[1, 0, 1, 1, 1], [1, 0, 0, 0, 1], [1, 0, 0, 0, 1], [0, 0, 0, 0, 0], [1, 0, 1, 1, 1]]

    and my answer is:

    [(1, 2), (1, 3), (2, 2), (2, 3), (3, 1)]

    but I get "Incorrect solution for: [[1, 0, 1, 0, 1], [0, 1, 1, 1, 0], [1, 1, 1, 1, 1], [0, 1, 1, 1, 0], [1, 0, 1, 0, 1]]".

    I believe that my answer works. Note that the solution is not unique when the side of the grid is odd (and at least 3).
    Also, I don't see why the error message is printing a different grid.

  • Custom User Avatar

    I wrote a solution which works only when solutions are always integers, and it passed all the tests!
    (Integer coefficients are not enough to guarantee this, since 2x=1 gives x=0.5)

  • Custom User Avatar

    It seems that, in all the tests, all the solutions are in fact integers (and one can exploit this to work without approximation errors).
    The description should mention this; otherwise, I guess different tests should be used.

  • Custom User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Custom User Avatar

    What does that mean? Do I need to change any setting somewhere?

  • Custom User Avatar

    Bump: in Python it takes around 6 seconds even if one just writes "return None" in the body of the function.
    From the comments below, it seems related to Python 3 and this kata.

  • Custom User Avatar

    Nice kata!

    EDIT:
    I found the answer to my issue in older discussion.
    It would be good, in the problem description, to stress the fact that there could be multiple solutions to the initial game map, but only one if one opens the safe cells carefully (unless the expected answer is '?').

    INITIAL POST:
    I passed the initial tests, but in a larger game map I get several valid solutions.
    In this one:

    0 0 0 0 0 0 0 0 0 0 0 0 ? ? ? 0 0 0 0 0 0 0 0 ? ? ? ? ? ? 0
    0 0 0 0 0 0 0 0 0 0 0 0 ? ? ? 0 ? ? ? 0 0 0 0 ? ? ? ? ? ? 0
    ? ? ? 0 0 0 0 ? ? ? 0 0 0 0 ? ? ? ? ? 0 0 0 0 ? ? ? ? ? ? 0
    ? ? ? ? ? ? 0 ? ? ? ? ? 0 0 ? ? ? ? ? 0 0 0 0 ? ? ? 0 0 0 0
    ? ? ? ? ? ? 0 ? ? ? ? ? 0 0 ? ? ? ? 0 0 0 0 0 ? ? ? 0 0 ? ?
    0 ? ? ? ? ? 0 0 0 ? ? ? 0 ? ? ? ? ? 0 0 0 0 0 ? ? ? 0 0 ? ?
    0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0 0 0 ? ? ? ? ? ? ?
    0 0 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0 ? ? ? 0 0 ? ? ? 0
    0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0 ? ? ? 0 0 ? ? ? 0
    ? ? ? ? 0 ? ? ? ? 0 0 0 ? ? ? ? ? ? ? 0 0 ? ? ? 0 0 ? ? ? 0
    ? ? ? ? 0 ? ? ? ? ? 0 0 ? ? ? ? ? ? ? 0 0 0 ? ? ? 0 0 0 0 0
    ? ? ? ? ? ? ? ? ? ? 0 0 ? ? ? ? ? ? ? 0 0 0 ? ? ? ? 0 0 0 0
    ? ? ? ? ? ? ? ? ? ? 0 0 0 0 ? ? ? ? ? 0 0 0 ? ? ? ? 0 0 0 0
    ? ? ? ? ? ? ? 0 0 ? ? ? 0 0 ? ? ? 0 0 0 0 0 ? ? ? ? 0 0 0 0
    ? ? ? ? 0 0 0 0 0 ? ? ? 0 0 ? ? ? 0 0 0 0 0 ? ? ? 0 0 0 0 0

    the kata claims that there exists a unique solution, but I found others.

    Bottom-left 6x6 square from kata's solution:
    1 2 x 1 0 1
    1 x 2 1 0 1
    1 1 2 1 2 2
    1 1 2 x 2 x
    1 x 3 2 2 1
    1 2 x 1 0 0

    One of my alternative solutions:

    1 2 x 1 0 1
    x 3 2 1 0 1
    2 x 2 1 2 2
    1 1 2 x 2 x
    0 1 2 2 2 1
    0 1 x 1 0 0