观察发现当为1时左走不变
不为1时往左走值*2-1 往右走都是*2
```c
#include <stdio.h>
int main()
{
int a, b;
char temp;
int sum;
scanf("%d %d", &a, &b);// 行内字母数 行数
while (b--)
{
getchar();
sum = 1;
//while(a--)//会改变a的值
for (int i = 0; i < a; i++)
{
scanf("%c", &temp);
if (sum != 1 && temp == 'y')
{
sum = sum * 2 - 1;
//printf("%d\n",sum);
}
if (temp == 'n')
{
sum *= 2;
// printf("%d\n",sum);
}
}
printf("%d\n", sum);
}
return 0;
}
这个C语言程序读取行内字母数和行数,然后处理每一行的字符输入。如果字符不是'y',程序会根据当前的行走状态(由变量`sum`表示)决定向左(值*2-1)还是向右(值*2)行走。最后,程序打印出最终的行走状态值。
980

被折叠的 条评论
为什么被折叠?



