杭电ACM 2053 为什么不能AC,初学,请各位多多指教

2024-12-03 15:03:58
推荐回答(2个)
回答1:

你看看你计算了多少无用的数据,题目最后只是要求的第n个灯的状态,你的第一个for循环计算其他的灯的状态干嘛?没用吧。你只需要计算最后一个灯的状态,看看最后一个灯变换了多少次,变换了偶数次就还是状态0,奇数次就是1。

回答2:


递归方法错了
#include

using namespace std;

int main()
{
int a[1001] = ;
int b[1001] = ;
int n;
for(int i=1;i<1001;i++)
{
a[i] = (b[i-1] + b[i-1])%10000;
b[i] = (a[i-1] + b[i-1])%10000;
}
while(cin>>n,n)
{
cout << a[n]<< endl;
}
return 0;
}