Я работаю над программой, которая может решать алгоритмы, и я использую рекурсию, чтобы сделать это, но когда она проверяет, может ли она поместить число, и не может, она просто завершит программу, и не глядя вернуться, чтобы изменить номер раньше, кто-нибудь может мне помочь. Вот мой код:
public static void dfs(int x, int y, int value )
{
if(matriz[x][y]==0)
{
SudokuSolved[x][y]=value;
}
boolean br= breakrule(x,y);
if (br==false)
{
sol = solved();
}
if(solved()==false&&br==false)
{
f++;
if (f>=9)
{
f=0;
c++;
}
for (int num=1;num<10;num++)
{
dfs(f,c,num);
}
}
if(solved()==true&&br==false)
{
for (int i=0; i<9;i++)
{
System.out.println("-------------------");
System.out.print('|');
for (int j=0; j<9;j++)
{
System.out.print(SudokuSolved[i][j]);
System.out.print('|');
}
System.out.println();
}
System.out.println("-------------------");
}
}
Любые советы или предложения приветствуются