#include <iostream> using namespace std; int n, M; int a[201]; void dfs(int fsum, int lsum, int x[], int i) { if (i > n) { if (fsum == M) { for (int k = 1; k <= n; k++) { printf("%d", x[k]); } printf("\n"); } return; } if (fsum + a[i] <= M) { x[i] = 1; dfs(fsum + a[i], lsum - a[i], x, i + 1); } if (fsum + lsum > M) { x[i] = 0; dfs(fsum , lsum - a[i], x, i + 1); } } int main() { cin >> n >> M; int x[201] = { 0 }; int sum=0;//所有整数和 for (int i = 1; i <= n; i++) { cin >> a[i]; sum += a[i]; } dfs(0, sum, x, 1); return 0; }
时间: 2024-04-04 22:07:01 浏览: 7
这是一个使用深度优先搜索(DFS)算法解决背包问题的程序。程序中,变量n表示物品的数量,变量M表示背包的容量,数组a存放每个物品的重量,函数dfs用于递归搜索解空间,变量fsum表示当前已选物品的重量和,变量lsum表示剩余物品的重量和,数组x记录每个物品是否选中。程序通过不断递归搜索所有可能的解,找到符合条件的解输出。
相关问题
#include <iostream> using namespace std; int main() {
这是一个C++程序,它的功能是输出一个n*n的矩阵,其中每个元素都是从n*n开始递减1的数字。下面是代码的解释:
```c++
#include <iostream> // 引入iostream库,用于输入输出
#include <iomanip> // 引入iomanip库,用于格式化输出
using namespace std; // 使用std命名空间
int main() { // 主函数
int n,i,k=0; // 定义整型变量n、、k,并初始化k为0
cin>>n; // 从标准输入中读取n的值
for(i=n*n;i>=1;i--) // 循环n*n次,从n*n开始递减1
{
cout<<setw(5)<<i; // 输出当前数字,setw(5)用于设置输出宽度为5
k++; // k加1
if(k%n==0) // 如果k是n的倍数,说明当前行已经输出完毕
cout<<endl; // 输出换行符
}
cout<<endl; // 输出一个额外的换行符
return 0; // 返回0,表示程序正常结束
}
```
#include<iostream> using namespace std; int main()
这是一个使用C++语言编写的控制台程序,它包含了头文件<iostream>,并使用了命名空间std。程序的主函数为int main(),其中定义了三个变量n、i和k,并从标准输入流中读取一个整数赋值给n。接着使用for循环从n*n开始倒序遍历到1,每次输出一个整数并使用setw(5)进行格式化输出,同时将计数器k加1,当k能被n整除时输出换行符。最后输出一个换行符并返回0表示程序正常结束。
相关推荐
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)