关于负数下标的问题
  • 板块学术版
  • 楼主ToastBread
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/6 13:21
  • 上次更新2024/7/6 15:49:29
查看原帖
关于负数下标的问题
545809
ToastBread楼主2024/7/6 13:21
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring> 
using namespace std;
int s[10000000];  
int n,m,a;  
int main()  
{  
    cin>>m>>n;
    s[0]=1;  
    for (int i=1;i<=n;++i)  
    {  
        cin>>a;  //-1
        for (int j=m;j>=a;--j)  
            s[j]+=s[j-a];  //s[-1]
    }  
    cout<<s[m]; 
    return 0;  
}  

对于上面的程序,使用

5 10
3 4 1 2 0 -5 -2 -4 -1 -3 

这一组数据可以成功运行,但是使用

5 10
3 4 1 2 0 -5 -2 -4 -100 -3

这一组数据将会导致 RE。

为何都会访问负数下标,结果会有这样的不同?求解答,悬关。

2024/7/6 13:21
加载中...