##

###

    Flood FillBy E.Hooijmeijer1 Inleiding

      Dat CodeRuler van IBM is best wel lollig dacht Bill. Wereld Overheersing. Paardjes.
      Kasteeltjes. Lollig. Alleen ik wil wel winnen. En dat is nog niet zo makkelijk.

      Om CodeRuler efficient te kunnen spelen moet je een goed vlak vul algoritme hebben.
      En aangezien Bill ogenschijnlijk meer geld dan wijsheid heeft, heeft hij jou ingehuurd
      om voor hem uit te zoeken hoe je een efficient vlak vul algoritme maakt.

    2 Opdracht

      Implementeer een zogenaamd 'floodfill' algoritme waarbij vanaf een gegeven coordinaat
      alle aaneensluitende niet gezette pixels gezet worden.

    3 Voorbeeld

      Met de linker bitmap als bron en coordinaten (2,2) moet het resultaat de
      rechter bitmap zijn :

      Voor       Na         . is een niet gezette pixel.
      ......     ......     x is een gezette pixel.
      .xxxx.     .xxxx.     S geeft het start coordinaat aan
      .xS.x.     .xxxx.       (op een niet gezette pixel)
      .x..x.     .xxxx.
      .xxxx.     .xxxx.
      ......     ......

    4 Tips

      - Recursie is best wel handig voor dit soort problemen.

    Test case 1 : One empty Pixel
    Given the following bitmap, perform a floodfill operation starting at 0,0
    .

    The expected result is :
    X

    Test case 2 : One set Pixel
    Given the following bitmap, perform a floodfill operation starting at 0,0
    X

    The expected result is :
    X

    Test case 3 : Great Void
    Given the following bitmap, perform a floodfill operation starting at 1,1
    ...
    ...
    ...

    The expected result is :
    XXX
    XXX
    XXX

    Test case 4 : Great Wall
    Given the following bitmap, perform a floodfill operation starting at 2,2
    XXXXX
    X...X
    X...X
    X...X
    XXXXX

    The expected result is :
    XXXXX
    XXXXX
    XXXXX
    XXXXX
    XXXXX

    Test case 5 : The Path
    Given the following bitmap, perform a floodfill operation starting at 3,1
    XXXXXXX
    X.....X
    X.XXX.X
    X.X.X.X
    X...X.X
    XXXXX.X
    X.....X
    XXXXXXX

    The expected result is :
    XXXXXXX
    XXXXXXX
    XXXXXXX
    XXXXXXX
    XXXXXXX
    XXXXXXX
    XXXXXXX
    XXXXXXX

    Test case 6 : Diamonds 4Ever
    Given the following bitmap, perform a floodfill operation starting at 2,2
    ..X..
    .X.X.
    X...X
    .X.X.
    ..X..

    The expected result is :
    ..X..
    .XXX.
    XXXXX
    .XXX.
    ..X..

    Test case 7 : Leaving Las Pixel
    Given the following bitmap, perform a floodfill operation starting at 0,0
    .....
    ...X.
    X.X.X
    ...X.
    .....

    The expected result is :
    XXXXX
    XXXXX
    XXX.X
    XXXXX
    XXXXX