2206317497 edited 3 年,10 月前
我敲完代码提交发现显示runtime error,但我自己测试的数据结果是对的,代码没发现错误,最后把return 1改成return 0就可以了,我测试了几个别人的代码把return 0改成return 1也会提交显示runtime error,为什么?
#include<iostream>
using namespace std;
int main()
{
int n, k, t[110],damage[110];
for (int i = 0; i < 101; i++)
{
damage[i] = 0;//0表示没坏的台阶
}
cin >> n >> k;
for (int i = 0; i < k; i++)
{
cin >> t[i];
damage[t[i]] = 1;
}
long long count[110];//到达每个台阶的方法数
for (int i = 0; i < 100; i++)
{
count[i] = 0;
}
count[0] = 1;
for (int i = 1; i < n+1; i++)
{
if (damage[i] != 1)//没坏则可计算方法数,否则为0
{
if (i == 1)
{
count[i] = count[i - 1];
}
else if (i == 2)
{
count[i] = count[i - 1] + count[i - 2];
}
else
{
count[i] = count[i - 1] + count[i - 2] + count[i - 3];
}
}
}
printf("%d",count[n]);
return 1;
}