35 lines
629 B
Plaintext
35 lines
629 B
Plaintext
void
|
|
paste(record r, index x, text p, integer a)
|
|
{
|
|
p = insert(p, -1, a);
|
|
x.delete(a);
|
|
if (~x) {
|
|
x.vcall(paste, -1, r, x, p);
|
|
} else {
|
|
r[p] = 0;
|
|
}
|
|
x[a] = 0;
|
|
}
|
|
|
|
integer
|
|
main(void)
|
|
{
|
|
record r;
|
|
list l;
|
|
index x;
|
|
|
|
l.bill(0, "ABCD", "CABD", "ACDB", "DACB", "BCDA", "ACBD", "ADCB",
|
|
"CDAB", "DABC", "BCAD", "CADB", "CDBA", "CBAD", "ABDC", "ADBC",
|
|
"BDCA", "DCBA", "BACD", "BADC", "BDAC", "CBDA", "DBCA", "DCAB");
|
|
|
|
x['A'] = x['B'] = x['C'] = x['D'] = 0;
|
|
|
|
x.vcall(paste, -1, r, x, "");
|
|
|
|
l.ucall(r_delete, 1, r);
|
|
|
|
o_(r.low, "\n");
|
|
|
|
return 0;
|
|
}
|