15 lines
558 B
Plaintext
15 lines
558 B
Plaintext
void main() {
|
|
import std.stdio, std.algorithm, std.file, std.string;
|
|
|
|
auto keys = "unixdict.txt".readText!(char[]);
|
|
immutable vals = keys.idup;
|
|
string[][string] anags;
|
|
foreach (w; keys.splitter) {
|
|
immutable k = w.representation.sort().release.assumeUTF;
|
|
anags[k] ~= vals[k.ptr - keys.ptr .. k.ptr - keys.ptr + k.length];
|
|
}
|
|
//immutable m = anags.byValue.maxs!q{ a.length };
|
|
immutable m = anags.byValue.map!q{ a.length }.reduce!max;
|
|
writefln("%(%-(%s %)\n%)", anags.byValue.filter!(ws => ws.length == m));
|
|
}
|