Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,9 @@
|
|||
def fact = { n -> [1,(1..<(n+1)).inject(1) { prod, i -> prod * i }].max() }
|
||||
def missingPerms
|
||||
missingPerms = {List elts, List perms ->
|
||||
perms.empty ? elts.permutations() : elts.collect { e ->
|
||||
def ePerms = perms.findAll { e == it[0] }.collect { it[1..-1] }
|
||||
ePerms.size() == fact(elts.size() - 1) ? [] \
|
||||
: missingPerms(elts - e, ePerms).collect { [e] + it }
|
||||
}.sum()
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
def e = 'ABCD' as List
|
||||
def p = ['ABCD', 'CABD', 'ACDB', 'DACB', 'BCDA', 'ACBD', 'ADCB', 'CDAB', 'DABC', 'BCAD', 'CADB', 'CDBA',
|
||||
'CBAD', 'ABDC', 'ADBC', 'BDCA', 'DCBA', 'BACD', 'BADC', 'BDAC', 'CBDA', 'DBCA', 'DCAB'].collect { it as List }
|
||||
|
||||
def mp = missingPerms(e, p)
|
||||
mp.each { println it }
|
||||
Loading…
Add table
Add a link
Reference in a new issue