Data update
This commit is contained in:
parent
35bcdeebf8
commit
74c69a0df6
2427 changed files with 31826 additions and 3468 deletions
26
Task/Set-consolidation/SETL/set-consolidation.setl
Normal file
26
Task/Set-consolidation/SETL/set-consolidation.setl
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
program set_consolidation;
|
||||
tests := [
|
||||
{{'A','B'}, {'C','D'}},
|
||||
{{'A','B'}, {'B','D'}},
|
||||
{{'A','B'}, {'C','D'}, {'D','B'}},
|
||||
{{'H','I','K'}, {'A','B'}, {'C','D'}, {'D','B'}, {'F','G','H'}}
|
||||
];
|
||||
|
||||
loop for t in tests do
|
||||
print(consolidate(t));
|
||||
end loop;
|
||||
|
||||
proc consolidate(sets);
|
||||
outp := {};
|
||||
loop while sets /= {} do
|
||||
set_ from sets;
|
||||
loop until overlap = {} do
|
||||
overlap := {s : s in sets | exists el in s | el in set_};
|
||||
set_ +:= {} +/ overlap;
|
||||
sets -:= overlap;
|
||||
end loop;
|
||||
outp with:= set_;
|
||||
end loop;
|
||||
return outp;
|
||||
end proc;
|
||||
end program;
|
||||
Loading…
Add table
Add a link
Reference in a new issue