Mistři v programování na #hovnokod

C/C++ #1095

Vyplňujeme číslo do sudoku :-)

int vyplnitCislo(Sudoku *s, int radek, int sloupec, int cislo) {
	if(!s->moznosti[Radek][radek].moznosti[cislo] || \
		!s->moznosti[Sloupec][sloupec].moznosti[cislo] || \
		!s->moznosti[Ctverec][s->pole[radek][sloupec].ctverec].moznosti[cislo]) {
		return 0;
	}
	s->pole[radek][sloupec].cislo=cislo;
	--s->moznosti[Radek][radek].pocet;
	s->moznosti[Radek][radek].moznosti[cislo]=0;
	--s->moznosti[Sloupec][sloupec].pocet;
	s->moznosti[Sloupec][sloupec].moznosti[cislo]=0;
	--s->moznosti[Ctverec][s->pole[radek][sloupec].ctverec].pocet;
	s->moznosti[Ctverec][s->pole[radek][sloupec].ctverec].moznosti[cislo]=0;
	if(!aktualizovatMoznosti(s, Radek, radek, s->pole[radek][sloupec].cislo) || \
		!aktualizovatMoznosti(s, Sloupec, sloupec, s->pole[radek][sloupec].cislo) || \
		!aktualizovatMoznosti(s, Ctverec, s->pole[radek][sloupec].ctverec, s->pole[radek][sloupec].cislo)) {
		return 0;
	}
	return 1;
}

Anonymous,