📄 koudai.cpp
字号:
// 我保证这次作业是我个人独立完成没有抄袭他人作业和代码
#include<iostream>
using namespace std;
int pocket[100]; // 记录背包 的大小
// 定义一个函数 计算是否有满足题意的被包
int fun(int n,int m);
// 分别记录 背包的数目 和 最大的容量
int num,totle;
void main()
{
// 设置数据
cout<<"input the number of the pockets:";
cin>>num;
cout<<"input the totle weight :";
cin>>totle;
cout<<"input the weight of the pockets:";
for(int i=0;i<num;i++)
cin>>pocket[i];
// 调用函数 并输出
int t=fun(0,totle);
if(t==0)
cout<<"NO"<<endl;
else
cout<<"YES"<<endl;
}
// 如果满足就返回 1 否则就返回0
int fun(int n,int m)
{
int k=0;
// 当m 即背包的容量变为零时就要 返回
if(m==0)
return 1;
// 否则就继续 添加物品
for(int i=n;i<num;i++)
if(pocket[i]<=m)
return k+=fun(i+1,m - pocket[i]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -