From fad5591aa7eb45f0067df01b89a460f35d94fec7 Mon Sep 17 00:00:00 2001 From: garhve Date: Tue, 6 Dec 2022 09:04:40 +0800 Subject: initialize --- lua/4.lua | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 lua/4.lua (limited to 'lua/4.lua') diff --git a/lua/4.lua b/lua/4.lua new file mode 100755 index 0000000..f965bc6 --- /dev/null +++ b/lua/4.lua @@ -0,0 +1,38 @@ +N = 8 + +function isPlaceOK(a,n,c) + for i = 1, n - 1 do + if (a[i] == c) or + (a[i] - n == c - n) or + (a[i] + n == c + n) then + return false; + end + end + return true; +end + +function printSolution(a) + for i = 1, N do + for j = 1, N do + io.write(a[i] == j and "X" or "-", ' '); + end + io.write('\n'); + end + io.write('\n'); +end + +function addQueen(a, n) + if n > N then + printSolution(a); + else + for c = 1, N do + if isPlaceOK(a,n,c) then + a[n] = c; + addQueen(a, n + 1); + end + end + end +end + + +addQueen({},1) -- cgit v1.2.3-70-g09d2