// EXERCICE : Propagation des singletons (Naked Singles)
// - Identifiez les cases avec exactement 1 candidat
// - Remplissez-les et repetez (propagation en cascade)
// - Retournez le nombre de cases remplies
public static int PropagateNakedSingles(int[][] grid)
{
// TODO etudiant : implementez la propagation des naked singles
return 0; // TODO
}
int[][] testGrid18 = {
new[] {0,0,0,2,6,0,7,0,1},
new[] {6,8,0,0,7,0,0,9,0},
new[] {1,9,0,0,0,4,5,0,0},
new[] {8,2,0,1,0,0,0,4,0},
new[] {0,0,4,6,0,2,9,0,0},
new[] {0,5,0,0,0,3,0,2,8},
new[] {0,0,9,3,0,0,0,7,4},
new[] {0,4,0,0,5,0,0,3,6},
new[] {7,0,3,0,1,8,0,0,0}
};
int nFilled = PropagateNakedSingles(testGrid18);
Console.WriteLine($"Cases remplies par propagation : {nFilled}");
foreach (var row in testGrid18)
Console.WriteLine("[" + string.Join(", ", row) + "]");