文章
6
粉丝
0
获赞
9
访问
313
#include <stdio.h>
#include <stdlib.h>
int getRes(int s,int n,int wei[]){//每次递归只会尝试放入一个物品
int i;
for(i=0;i<n;i++){//放入一个物品就匹配成功
if(s==wei[i]&&wei[i]>0){
return 1;
}
}
for(i=0;i<n;i++){
if(s>wei[i]&&wei[i]>0){
wei[i]=-wei[i];//负数表示已放入
int res=getRes(s+wei[i],n-1,wei);//准备放入下一个
if(res==1){
return 1;
}
wei[i]=-wei[i];//复原
}
}
return 0;
}
int main()
{
int s,n,i,res;
int wei[1000];
...
登录后发布评论
暂无评论,来抢沙发