Нужен компилятор с поддержкой C++23. У меня:
$ clang --version clang version 21.1.0-rc1
Сборка с помощью CMake:
mkdir build
cd build
cmake .. -D CMAKE_BUILD_TYPE=Debug
cd ..
make buildТесты:
make testmake build
./build/bin/ptpПример ввода:
3 x y z 9 x a x y a y z a x x b z y b y z b x x c z y c z z c z
Формат ввода:
[количество элементов в множестве M] [элементы множества M] ... [количество элементов таблицы] [элемент множества M] [буква] [элемент множества M] ...
Вывод:
Left ideals: a b c ca ab bb c ab a c ca ab c ca ab c a c ca c ca a ca ca Right ideals: a b c ab bb ca a c ab ca c ca Ideals: a b c ab bb ca a c ab ca c ca
Дополнительно код на dot выводится в build/left.dot и build/right.dot. Можно
скомпилировать так:
dot -T png build/left.dot > build/left.png
dot -T png build/right.dot > build/right.png