运动员配对问题
用C++写的回溯算法的运动员配对问题,有详细的注释,能调试,这是我第一个写成功的算法,算法实现是教材上的,请大家支持
运动员配对问题
源代码:
#include <stdio.h>
#define NUM 100 //初始给空间分配100
intbesti[NUM],r[NUM],p[NUM][NUM],q[NUM][NUM];
int best = 0; //竞赛优势总和,赋初值为0
void swap(int&t,int&j) { //节点t和节点j交换
int m =t;
t = j;
j = m;
}
void compute(int n) { //compute函数计算当前配对的竞赛优势的总和 int temp = 0; //temp记录当前最大和,赋初值为0
for(int i=1; i<=n;i++)
temp += p[i][r[i]] * q[r[i]][i];
if(temp > best) { //当前比原来的大,则把当前值替代原来的值 best = temp;
for(int i=1;i<=n;i++)
besti[i] = w[i];
}
}
void backtrack(intt,intj) { //递归函数
if(t>j) //配对已经完成,到达树的叶子节点
compute(n);
else
for(int i=t;i<=n;i++) {
swap(r[t],r[i]);
backtrack(t+1,n); // 递归调用backtrack函数
swap(r[lt],r[i]);
}
}
int main() {
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
scanf("%d",&p[i][j]);
for(int i2=1;i2<=n;i2++)
for(int j2=1;j2<=n;j2++)
网址:运动员配对问题 https://mxgxt.com/news/view/1137052
相关内容
运动员最佳配对问题shuanfa 运动员最佳配对问题
运动员最佳配对题(习题5—14).doc
采访运动员要问什么问题
我国运动员商业活动中的法律问题研究
运动员商业广告代言的法律问题
东京奥运会|冠军杀手——精英运动员的心理健康问题
爱情配配对,关于爱情配对的问题
运动员“大心脏”背后不可忽视的心理健康问题
运动员代言费怎么分配