Data update
This commit is contained in:
parent
72eb4943cb
commit
4d5544505c
2347 changed files with 62432 additions and 16731 deletions
|
|
@ -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
|
||||
.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue