Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
26
Task/Sudoku/Uiua/sudoku.uiua
Normal file
26
Task/Sudoku/Uiua/sudoku.uiua
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Solves Sudoku using brute force.
|
||||
# Experimental!
|
||||
S ← [[8 5 0 0 0 2 4 0 0]
|
||||
[7 2 0 0 0 0 0 0 9]
|
||||
[0 0 4 0 0 0 0 0 0]
|
||||
[0 0 0 1 0 7 0 0 2]
|
||||
[3 0 5 0 0 0 9 0 0]
|
||||
[0 4 0 0 0 0 0 0 0]
|
||||
[0 0 0 0 8 0 0 7 0]
|
||||
[0 1 7 0 0 0 0 0 0]
|
||||
[0 0 0 0 3 6 0 4 0]]
|
||||
Ps ← ⊞⊟.⇡9
|
||||
Boxes ← ↯∞_9_2 ⊡⊞⊂.0_3_6 ◫3_3Ps
|
||||
Nines ← ⊂Boxes⊂⟜(⮌1_0)Ps # 27 lists of pos's: one per row, col, box.
|
||||
IsIn ← ☇1▽:⟜≡(∊:)Nines ¤ # (pos) -> pos's of all peers for a pos.
|
||||
Peers ← ⊞(IsIn ⊟).⇡9 # For each pos, the pos of every peer (by row, col, box)
|
||||
|
||||
Free ← ▽:⟜(¬∊)+1⇡9◴▽⊸(>0)⊡⊡:Peers # Free values at pos (pos board) -> [n]
|
||||
Next ← (
|
||||
=/↧.≡(⧻Free) ⊙¤,,⊚=0. # Find most constrained pos.
|
||||
Free,,⊙◌⊢▽⊙. # Get free values at pos.
|
||||
≡(⍜⊡⋅∘)λBCa # Generate node for each.
|
||||
)
|
||||
End ← =0/+/+=0
|
||||
astar(⍣Next⋅[]|0|End)S
|
||||
↙¯1°□⊢⊙◌
|
||||
Loading…
Add table
Add a link
Reference in a new issue