社区讨论
10pts求调(壶关)
P2842纸币问题 1参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mhj3b6vn
- 此快照首次捕获于
- 2025/11/03 20:02 4 个月前
- 此快照最后确认于
- 2025/11/03 20:02 4 个月前
9又该如何
CPP#include<bits/stdc++.h>
using namespace std;
int n,w,a[1001],f[10001],j;
int main(){
scanf("%d%d",&n,&w);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
f[a[i]]=1;
}
for(int i=1;i<=w;i++){
if(f[i]) continue;
j=1,f[i]=f[i-a[j]]+f[a[j]];
while(i>=a[j+1]){
j++;
f[i]=min(f[i],f[i-a[j]]+f[a[j]]);
}
}
printf("%d",f[w]);
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...