求问
查看原帖
求问
1419482
YZNNN楼主2025/7/31 17:29

rt 这个代码,是AC代码

#include<iostream>
using namespace std;
int n,w,a[1005],f[10005];
const int mod=1e9+7;
int main(){
    cin>>n>>w;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    f[0]=1;
    for(int i=1;i<=w;i++){
        for(int j=1;j<=n;j++){
            if(i-a[j]>=0){
                f[i]=(f[i]+f[i-a[j]])%mod;
            }
        }
    }
    cout<<(f[w]%mod)<<endl;
    return 0;
}



但这个代码半WA半RE

#include<iostream>
using namespace std;
int n,w,a[1005],f[10005];
const int mod=1e9+7;
int main(){
    cin>>n>>w;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    f[0]=1;
    for(int i=1;i<=w;i++){
        for(int j=a[i]j<=n;j++){
            f[i]=(f[i]+f[i-a[j]])%mod;
        }
    }
    cout<<(f[w]%mod)<<endl;
    return 0;
}

请问这是为什么

2025/7/31 17:29
加载中...