问题描述
- 一道ACM的题求大神们解答,C语言,谢谢!
-
【题目描述】
FFF团成员自带这样一个属性:凭空变出火把与汽油,两者配合起来才能让FFF之火duang的一下烧起来,但是不同的火把与不同的汽油配合产生的火焰是不同的,现在有n种火把与n种汽油,已知每一种火把与每一种汽油配合时产生的火焰的旺盛程度,现在求怎样使得火把与汽油一一配对,产生最旺盛的火焰。
【输入】
第一行为一个整数T,表示有T组数据
每组数据第一行为一个正整数n(2≤n≤30)
第二行开始一共有n行,每行为n个正整数,第i行第j个数表示第i种火把与第j种汽油配合的火焰的旺盛程度。(0<a[i][j]≤10000)
【输出】
每组数据输出一个整数,表示最大的火焰旺盛程度
【样例输入】
2
3
5 2 6
6 7 9
7 4 1
4
8 5 2 8
5 8 2 1
9 6 3 7
7 5 8 1
【样例输出】
20
33
求大神们解答!!谢谢!!
解决方案
用动态规划,初始使用权重最大的去匹配,然后剩下的再按照权重最大的去匹配,得到初始的结果,然后调换相邻的匹配,如果结果更优,那么就持续这个过程。最终就是结果。
时间: 2025-01-02 14:36:52