/********************************************************************************************************
*
* file name: Zqh_習題.c
* author : keyword2024@163.com
* date : 2024/05/05
* function : 回溯法
* note : 演算法
*
* Copyright (c) 2023-2024 keyword2024@163.com All right Reserved
* ******************************************************************************************************/
#include <stdio.h>
#define N 11
int w[N] = {1, 2, 7, 4, 11, 6, 5, 9, 14, 8, 3};
int r[N];
int bag = 9;
int Search(int *w, int *r, int pos, int weight);
int main()
{
int n = Search(w, r, N-1, bag);
printf("%d",n);
return 0;
}
int Search(int *w, int *r, int pos, int weight)
{
static int sum = 0;
int j;
if(weight == 0){
++sum;
for(j=N-1; j>pos; --j)
if(r[j]) printf("%d ", w[j]);
printf("\n");
}
else if
(weight>0 && pos>=0){
r[pos] = 1;
Search(w, r, pos-1, weight-w[pos]);
r[pos] = 0;
Search(w, r, pos-1, weight);
}
return sum;
}
回溯法求一個集合中和為定值的所有集合
相關文章
- 尋找陣列中和為定值的兩個數陣列
- PushLibrary,一個集合所有主流廠商的推送框架框架
- Java集合系列(一):集合的定義及分類Java
- pandas求兩個表格不相交的集合
- 所有協議集合--(1)協議
- 建立一個物件的集合物件
- java 將物件集合轉為欄位值的 listJava物件
- 一文搞懂所有Java集合面試題Java面試題
- 回溯法求迷宮問題
- Python實現求多個集合之間並集的方法Python
- Leetcode 陣列中和為給定值的最長子陣列LeetCode陣列
- 集合第一個Array List理解
- MongoDB關聯另一個集合MongoDB
- java判斷集合是否包含某個範圍內的值Java
- 5個鮮為人知Java集合特性Java
- Java集合詳解(一):全面理解Java集合Java
- AppTheme屬性設定集合APP
- php redis 集合sadd同時寫入多個鍵值的方法PHPRedis
- 使用Java Stream,提取集合中的某一列/按條件過濾集合/求和/最大值/最小值/平均值Java
- C#怎麼從List集合中隨機取出其中一個值C#隨機
- kubectl獲取名稱空間下所有configmap集合的方法
- 十五個常用的 Laravel 集合(Collection)Laravel
- 15個常用的Laravel 集合(Collection)Laravel
- 學習python的基礎語法集合Python
- Java集合——TreeMap(一)Java
- Java集合(一) —— ArrayListJava
- PAT-B 1087 有多少不同的值【集合】
- C#泛型鍵值對集合C#泛型
- Java反射給泛型集合賦值Java反射泛型賦值
- 【Java集合】1 集合概述Java
- Mybatis foreach 請求引數是物件集合MyBatis物件
- 對Java萬用字元的個人理解(以集合為例)Java字元
- 【java】【集合】陣列和集合的基本概述Java陣列
- lambda 表示式從集合中獲取某個欄位屬性的集合
- 【java】【集合】set集合、唯一性保證、Linkset、案例Java
- 使用jstl無法遍歷bean中的集合JSBean
- Guava集合--新集合型別Guava型別
- Guava集合--Immutable(不可變)集合Guava