运动员配对问题

发布时间:2025-05-12 05:28

用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
采访运动员要问什么问题
我国运动员商业活动中的法律问题研究
运动员商业广告代言的法律问题
东京奥运会|冠军杀手——精英运动员的心理健康问题
爱情配配对,关于爱情配对的问题
运动员“大心脏”背后不可忽视的心理健康问题
运动员代言费怎么分配

随便看看