Data update

This commit is contained in:
Ingy döt Net 2025-06-11 20:16:52 -04:00
parent 72eb4943cb
commit 4d5544505c
2347 changed files with 62432 additions and 16731 deletions

View file

@ -1,18 +1,11 @@
global perm[] .
proc nextperm . a[] .
proc nextperm &a[] &k .
n = len perm[]
k = n - 1
while k >= 1 and perm[k + 1] <= perm[k]
k -= 1
.
if k = 0
a[] = [ ]
return
.
while k >= 1 and perm[k + 1] <= perm[k] : k -= 1
if k = 0 : return
l = n
while perm[l] <= perm[k]
l -= 1
.
while perm[l] <= perm[k] : l -= 1
swap perm[l] perm[k]
swap a[l] a[k]
k += 1
@ -23,22 +16,18 @@ proc nextperm . a[] .
n -= 1
.
.
proc perminit . a[] .
for i to len a[]
perm[] &= i
.
proc perminit &a[] .
for i to len a[] : perm[] &= i
.
proc permsort . a[] .
proc permsort &a[] .
perminit a[]
repeat
for i = 2 to len a[]
if a[i - 1] > a[i]
break 1
.
if a[i - 1] > a[i] : break 1
.
until i > len a[]
nextperm a[]
if len a[] = 0
nextperm a[] more
if more = 0
print "error"
break 1
.