Skip to content

Instantly share code, notes, and snippets.

@davidedicillo
Created July 9, 2011 22:50
Show Gist options
  • Select an option

  • Save davidedicillo/1074025 to your computer and use it in GitHub Desktop.

Select an option

Save davidedicillo/1074025 to your computer and use it in GitHub Desktop.
M = 'land'
o = 'water'
world = [[o,o,o,o,o,o,o,o,o,o,o],
[o,o,o,o,M,M,o,o,o,o,o],
[o,o,o,o,o,o,o,o,M,M,o],
[o,o,o,M,o,o,o,o,o,M,o],
[o,o,o,M,o,M,M,o,o,o,o],
[o,o,o,o,M,M,M,M,o,o,o],
[o,M,M,M,M,M,M,M,M,M,o],
[o,o,o,M,M,o,M,M,M,o,o],
[o,o,o,o,o,o,M,M,o,o,o],
[o,M,o,o,o,M,o,o,o,o,o],
[o,o,o,o,o,M,o,o,o,o,o]]
def continent_size world, x, y
if world[y][x] != 'land'
return 0
end
size = 1
world[y][x] = 'counted land'
size = size + continent_size(world, x-1, y-1)
size = size + continent_size(world, x, y-1)
size = size + continent_size(world, x+1, y-1)
size = size + continent_size(world, x-1, y)
size = size + continent_size(world, x+1, y)
size = size + continent_size(world, x-1, y+1)
size = size + continent_size(world, x, y+1)
size = size + continent_size(world, x+1, y+1)
size
end
puts continent_size(world, 5, 5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment