資源簡介
運動員最佳匹配問題.zip

代碼片段和文件信息
#include
#include??
#include?
using?namespace?std;
int?na1[20][20]a2[20][20]b[20][20];
int?best=0;
class?people???
{???
public:???
????int?value;???
????int?dep;???
????int?sss[21];???
????int?record[21][21];???
????bool?operator?(const?people?&?b)?const??
????{???
????????if(value ????????else?return?false;???
????}???
????people()???
????{???
????????value=0;???
????????dep=0;???
????????for(int?i=1;i<=n;i++)???
????????????sss[i]=i;???
????????for(int?i=1;i<=n;i++)???
????????????for(int?j=1;j<=n;j++)???
????????????{???
????????????????record[i][j]=a1[i][j]*a2[j][i];???
????????????}???
????}???
????people(const?people?&?A)???
????{???
????????value=A.value;???
????????dep=A.dep;???
????????for(int?j=1;j<=n;j++)???
????????????sss[j]=A.sss[j];???
????????for(int?i=1;i<=n;i++)???
????????????for(int?j=1;j<=n;j++)???
????????????{???
????????????????record[i][j]=A.record[i][j];???
????????????}???
????}???
};???
void?getbest()???
{???
????int?ijttemphkmax;???
????int?limit;???
????priority_queue?list;???
????list.push(people());???
????while(!list.empty())???
????{???
????????people?E(list.top());???
????????list.pop();???
????????t=E.dep;???
????????if?(t==n)???
????????{???
????????????if(E.value>best)???
????????????????best=E.value;???
????????}???
????????else????
????????{???
????????????for(i=t+1;i<=n;i++)???
????????????{???
????????????????people?N(E);???
????????????????N.dep++;???
????????????????temp=N.sss[i];???
????????????????N.sss[i]=N.sss[t+1];???
????????????????N.sss[t+1]=temp;???
????????????????N.value+=a1[t+1][N.sss[t+1]]*a2[N.sss[t+1]][t+1];???
????????????????for(j=1;j<=n;j++)???
????????????????{???
????????????????????N.record[j][N.sss[t+1]]=0;???
????????????????????N.record[t+1][j]=0;???
????????????????}???
????????????????limit=0;???
????????????????for(h=t+2;h<=n;h++)???
????????????????{???
????????????????????max=0;???
????????????????????for(k=1;k<=n;k++)???
????????????????????{???
if(N.record[h][k]>max)???
max=N.record[h][k];???
????????????????????}???
????????????????????limit+=max;???
????????????????}???
????????????????if(N.value+limit>best)???
????????????????{???
????????????????????list.push(N);???
????????????????}???
????????????}???
????????}???
????}???
cout< }?
int?getin()
{
cin>>n;
for(int?i=1;i<=n;i++)
for(int?j=1;j<=n;j++)
cin>>a1[i][j];???
for(int?i=1;i<=n;i++)
for(int?j=1;j<=n;j++)
cin>>a2[i][j];
for(int?i=1;i<=n;i++)
for(int?j=1;j<=n;j++)
b[i][j]=a1[i][j]*a2[j][i];
for(int?i=1;i<=n;i++)???
????best+=a1[i][i]*a2[i][i];???
???????
return?0;
}
int?main()
{
getin();
getbest();
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-05-23?10:40??運動員最佳匹配問題\
?????目錄???????????0??2012-05-23?10:38??運動員最佳匹配問題\Debug\
?????文件??????553009??2012-05-23?10:38??運動員最佳匹配問題\Debug\fxy.exe
?????文件??????796096??2012-05-23?10:38??運動員最佳匹配問題\Debug\fxy.ilk
?????文件??????282524??2012-05-23?10:38??運動員最佳匹配問題\Debug\fxy.obj
?????文件?????3097788??2012-05-23?10:30??運動員最佳匹配問題\Debug\fxy.pch
?????文件?????1115136??2012-05-23?10:38??運動員最佳匹配問題\Debug\fxy.pdb
?????文件???????91136??2012-05-23?10:38??運動員最佳匹配問題\Debug\vc60.idb
?????文件??????135168??2012-05-23?10:38??運動員最佳匹配問題\Debug\vc60.pdb
?????文件????????2882??2012-05-23?10:40??運動員最佳匹配問題\fxy.cpp
?????文件????????3365??2012-05-23?10:30??運動員最佳匹配問題\fxy.dsp
?????文件?????????514??2012-05-23?10:40??運動員最佳匹配問題\fxy.dsw
?????文件???????41984??2012-05-23?10:40??運動員最佳匹配問題\fxy.ncb
?????文件???????48640??2012-05-23?10:40??運動員最佳匹配問題\fxy.opt
?????文件?????????737??2012-05-23?10:38??運動員最佳匹配問題\fxy.plg
- 上一篇:RtmpClient.rar
- 下一篇:星載雙頻軟件GPS接收機研究.kdh
評論
共有 條評論