• 回溯递归解决背包问题

    回溯递归解决背包问题 int temp_c,i,total_weight,num,j=0,result[1000],total_value; scanf("%d%d",&num;,&temp;_c); while(num!=0||temp_c!=0) { total_value=0; total_weight=0; for(i=0;i<=10;++i) { a[i]=0; b[i]=0; w[i]=0; } c=temp_c; n=num; for(i=0;i<num;++i) { scanf("%d",&w[i]); total_weight+=w[i]; } for(i=0;i<num;++i) { scanf("%d",&b[i]); total_value+=b[i]; } if(total_weight<=c) result[j]=total_value; else { best_value=0; Sesearch(0,total_value-b[0],0,0); result[j]=best_value; } scanf("%d%d",&num;,&temp;_c); ++j; } for(i=0;i<j;++i) printf("%d\n",result[i]); }

    0
    150
    1017B
    2012-05-20
    10
  • 回溯递归解决堡垒问题

    回溯递归解决堡垒问题 char temp; int i,num,j,result[1000],k=0; scanf("%d",&num;); while(num!=0) { for(i=0;i<4;++i) for(j=0;j<4;++j) a[i][j]=0; ROW=num; COL=num; for(i=0;i<num;++i) { temp=getchar(); //消除回车的影响 for(j=0;j<num;++j) { temp=getchar(); if(temp=='X') a[i][j]=2; } } bestcw=0; Sesearch(0,0,num*num-1); result[k]=bestcw; ++k; scanf("%d",&num;); } for(i=0;i<k;++i) printf("%d\n",result[i]);

    0
    150
    1KB
    2012-05-20
    9
  • 八皇后问题

    回溯递归解决八皇后问题 int a[8],i; for(i=0;i<8;++i) a[i]=100; sesearch(0,a);

    0
    32
    693B
    2012-05-20
    7
关注 私信
上传资源赚积分or赚钱