SWUST OJ 1184 神偷喵星人

神偷喵星人
时空要求: 1000(ms) 10000(kb)
Mzx0821家里养的有一只猫,那只猫不是一般的猫,是只智商极高的猫,在没养那只猫之前,Mzx0821是家里最能偷吃东西的,经常半夜起来偷吃。但是只从那只猫来了之后,Mzx0821发现四条腿比两条腿强太多了,简直溜的飞起,就跟家里多养了一个贼一样。那只猫能自己开门,自己开冰箱,最蛋疼的是Mzx0821正在吃饭的时候,只要一个晃神,那猫嗖的一声就跳桌子上咬着肉就狂奔,简直欲哭无泪。 还好Mzx0821还养的有一只狗,每次只要猫一得手,狗就在后面追,然后猫就开始上楼,为什么呢,因为Mzx0821家的狗是不敢上楼的。于是那只猫一上楼就开始得瑟,一步两步,一步两步,一步一步似爪牙,似魔鬼的步伐,似魔鬼的步伐。 Mzx0821观察了许多,发现那只猫每次最多只能跳三个台阶,Mzx0821想知道那只猫有多少种走法可以走完整个楼梯。

输入
(多组测试数据)
每行一个整数N(1<=N<=100000)代表一共有N阶台阶

输出
每行输出对应一个输入数据,输出一个整数,表示总共有多少种走法。由于数据过大,要求结果对23333333取余数。

样例输入

1
2
3

样例输出

1
2
4
1

#include<stdio.h>
int main()
{
	int a[100005];
	int n,i;
	a[1]=1;
	a[2]=2;
	a[3]=4;
	while(scanf("%d",&n)!=EOF)
	{
	for(i=4;i<=n;i++)
	{
		a[i]=a[i-1]+a[i-2]+a[i-3];
		if(a[i]>=23333333)
		{
			a[i]=a[i]%23333333;
		}
	}
	printf("%d\n",a[n]);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/sinat_34524528/article/details/88126427