Chào các anh, các bác, các chị mình học giải thuật quay lui, các bước đọc mình có hiểu nhưng đến
đoạn này
Sudoku(S[1,2,…,9][1,2,…,9],x,y):
if y=10y=10
if x=9x=9
print S
else
Sudoku(S[1,2,…,9][1,2,…,9],x+1,1)
else if S[x,y]=∅
for k←1 to 99
if Feasible(S,x,y,k)
S[x,y]←k
Sudoku(S[1,2,…,9][1,2,…,9],x,y+1)
S[x,y]←∅ ≪≪ for next branching ≫≫
else ≪S[x,y] is given ≫≫
Sudoku(S[1,2,…,9][1,2,…,9],x,y+1)
FEASIBLE(S[1,2,…,9][1,2,…,9],x,y,k):
for i←1 to 99
if S[x,i]=k
return FALSE
for i←1 to 99
if S[i,y]=k
return FALSE
** a←⌊(x−1)/3⌋,b←⌊(y−1)/3⌋**
** for i←3a+1 to 3a+3**
** for j←3b+1 to 3b+3**
** if S[i,j]=k**
return FALSE
return TRUE
Cho mình hỏi
a←⌊(x−1)/3⌋,b←⌊(y−1)/3⌋
for i←3a+1 to 3a+3
for j←3b+1 to 3b+3
if S[i,j]=k
có tác dụng kiểm tra số k như thế nào với ạ
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?