⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 回溯1.cpp

📁 在学习计算算法分析与设计时编写的几个算法代码
💻 CPP
字号:
#include"stdio.h"
int w[]={10,40,40};
int c=50;
int n=2;
int bestw=0;
int cw=0;
int r=90;
int x[3]={0};
int m;
int bestx[4]={0};
void backtrack(int i)
 {// 搜索第i层结点
	//return 123;
	if (i>n)// 到达叶结点
	{
      if(cw>bestw)//更新最优解bestx,bestw;return;
	  {
		  for(int j=0;j<=n;j++)
			  bestx[j]=x[j];
		  bestw=cw;
		  

	  
	 
		  }return ;
	  
	 
	}
		  
      r -= w[i];
      if (cw+w[i]<= c) {// 搜索左子树
         x[i]=1;
         cw += w[i];
         backtrack(i+1);
         cw -= w[i];      }
     if (cw+r>bestw)  // 搜索右子树
	 {
         x[i] = 0; 
         backtrack(i+1);     
         r+= w[i];
	 }
 }
main()
{
  int i;
  int k;
  backtrack(0); 
  printf("%5d\n",bestw);
  //printf("%5d\n",k);
  for(i=0;i<=n;i++)
	  printf("%5d",bestx[i]);
  printf("\n");
}
	
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -