資源簡介
計算機算法分析與設計5-20部落衛隊問題C++代碼。

代碼片段和文件信息
//化成經典最大團問題
#include
int?map[100][100];
int?n;
int?x[100]??bestx[100]??cn??bestn;
void?backtrack(int?i){
????if(i?>?n){
for(int?j?=?1?;?j?<=?n?;?j?++){
bestx[j]?=?x[j];
}
bestn?=?cn;
return;
????}
????int?OK?=?1;
????for(int?j?=?1?;?j? if(x[j]?&&?map[i][j]?==?0){
OK?=?0?;
break;
}
????}
????if(OK){
x[i]?=?1;
cn?++;
backtrack(i?+?1);
x[i]?=?0;
cn?--;
????}
????if(cn?+?n?-?i?>?bestn){
x[i]?=?0;
backtrack(i?+?1);
????}
}
int?main(){
????int?m;
????while(~scanf(“%d%d“??&n??&m)){
???? int?a??b;
???? for(int?i?=?1?;?i?<=?n?;?i?++){
for(int?j?=?1?;?j?<=?n?;?j?++){
map[i][j]?=?1;
}
???? }
for(int?i?=?1?;?i?<=?m?;?i?++){
scanf(“%d%d“??&a??&b);
map[a][b]?=?0;
map[b][a]?=?0;
}
backtrack(1);
printf(“%d\n“??bestn);
for(int?i?=?1?;?i?<=?n?;?i?++){
printf(“%d?“??bestx[i]);
}
printf(“\n“);
????}
????return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????938??2013-05-26?07:54??部落衛隊問題.cpp
- 上一篇:標準化數據代碼
- 下一篇:五子棋 源碼 游戲編程 MFC VC C++
評論
共有 條評論