Le scénario
Je roule sur une route avec ma voiture et il commence à pleuvoir. Les gouttes de pluie tombent sur ma fenêtre au hasard et maintenant je me demande, où est la plus grande zone humide connectée?
La tâche
Pour le rendre plus facile, la fenêtre est divisée en une matrice de 10 * 10 carrés. Votre travail consiste à trouver la plus grande zone de goutte d'eau connectée sur la fenêtre.
Contribution
Il y a deux entrées possibles, vous pouvez utiliser un tableau à 2 dimensions ou un tableau à 1 dimension. Vous pouvez choisir entre n'importe quelle entrée comme stdin, etc ...
Exemple:
// 2-dimensional:
[[0,1,0,0,0,0,1,0,0,0],
[0,1,1,0,0,0,0,1,1,0],
[0,1,1,0,0,0,0,1,0,0],
[0,1,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,1,0],
[0,0,0,1,1,0,0,0,1,0],
[0,0,0,1,1,0,0,0,1,0],
[0,0,0,0,0,1,1,0,1,0],
[0,0,0,0,0,1,1,0,1,0],
[0,0,0,0,0,0,0,0,0,0]]
// 1-dimensional
[0,1,0,0,0,0,1,0,0,0,
0,1,1,0,0,0,0,1,1,0,
0,1,1,0,0,0,0,1,0,0,
0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,
0,0,0,1,1,0,0,0,1,0,
0,0,0,1,1,0,0,0,1,0,
0,0,0,0,0,1,1,0,1,0,
0,0,0,0,0,1,1,0,1,0,
0,0,0,0,0,0,0,0,0,0]
Production
Votre code doit indiquer la taille de la plus grande zone connectée et les coordonnées x et y des gouttes d'eau qui appartiennent à cette zone au format
"Taille: Coordonnées Z: (X1, Y1) (X2, Y2) .. . "
Exemple pour l'entrée précédente:
Size: 6 Coordinates: (1,0) (1,1) (2,1) (1,2) (2,2) (1,3)
L'ordre des coordonnées n'a pas d'importance.
Règles
- Les gouttes d'eau sont connectées, si elles se touchent orthogonalement
- Les connexions diagonales ne comptent pas
- Il peut y avoir de nombreux domaines et votre code doit trouver le plus grand
- Un champ vide est représenté par "0" et un champ humide par "1"
- Publiez votre solution avec une brève explication et la sortie de l'entrée précédente
- Le code le plus court dans les 7 prochains jours gagnera
- S'il y a deux zones de même taille, vous pouvez en choisir une
