求指点。一道题目想不到思路,感觉直接做好复杂。
题目是这样的:一个正方体盒子上有一只蚂蚁。每一秒蚂蚁会爬过一个面,而且它只会向前走,不会转弯,每一秒的同时我们也会将盒子朝任意方向转动90 度。
为了方便,我们对六个面分别定义为:
正面(面向我们),
背面(正面的反面),
左面(正面左方),
右面(正面右方),
顶面(正面上方),
底(正面下方)
同时,6 个转动方向如下:
正面向左(即转动之后原先的正面变成了左面,其他依次类推)、
正面向右、
正面向上、
正面向下、
正面顺时针(类似于魔方整体顺时针旋转)、
正面逆时针。
开始时,蚂蚁处在0 时刻的正面,且头朝上。
现给出转动次序,求蚂蚁出现在盒子的顶的次数。
输入格式
有多组测试数据(2000 组左右),每组测试数据有两行
第一行是lyd 的转动次数n(1<=n<=1000)。
第二行有n 个数,第i 个数表示第i 个动作。(1 到6 分别表示正面向左、正面向右、正面向上、正面向下、正面顺时针、正面逆时针。)
数据读入以文件结束符(EOF)结束。即输入输出类似如下:
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
scanf("%d",&act[i]);
……
……
printf("%d\n",answer);
}
输出格式
对于每组测试数据,只输出一行,每行一个数,表示蚂蚁出现在顶多少次。
输入样例
1
1
5
5 2 3 6 1
输出样例
1
2
Hint:第二组测试数据,在3、4 秒的时候蚂蚁在顶。