项目简介
本项目基于C++和FLTK框架开发,主要用于解决男女运动员之间的满意度匹配问题。系统允许用户通过控制台或图形界面输入满意度矩阵,运用KM算法进行匹配,并输出最终的匹配结果。
项目的主要特性和功能
- 矩阵操作:能够创建和初始化满意度矩阵,打印矩阵内容,还可创建结合满意度矩阵。
- 运动员管理:支持增加或删除男/女运动员及其对应的满意度矩阵,同时可更新结合满意度矩阵。
- 匹配算法:采用基于匈牙利算法的KM算法,用于寻找最佳匹配路径,并且支持增广路径的查找和匹配调整。
- 测试方式:提供控制台测试和可视化测试两种方式。控制台测试支持随机生成或手动输入满意度矩阵并进行匹配显示结果;可视化测试通过FLTK库创建图形界面,让用户输入矩阵并查看匹配结果。
安装使用步骤
环境准备
- 确保已安装Ubuntu 20.04、VS Code 1.85.1、FLTK 1.3.9和g++ 9.4.0。
- 安装FLTK库,在终端执行命令:
sudo apt-get install libfltk1.3-dev
。
编译项目
- 打开终端,进入项目根目录。
- 在终端输入
make
命令进行编译,编译后的可执行文件位于output
目录下,文件名为main
。
运行项目
- 在终端中输入
./output/main
启动程序。 - 程序启动后,用户可选择控制台测试或可视化测试。
控制台测试
- 选择控制台测试后,可选择生成随机矩阵或手动输入矩阵。
- 输入矩阵后,程序将运用KM算法进行匹配并显示结果。
可视化测试
- 选择可视化测试后,程序将启动图形界面。
- 用户在界面中输入满意度矩阵,点击“开始匹配”按钮进行匹配,结果将显示在结果框中。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】