Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6449 Accepted Submission(s): 3809Problem Description
在一无限大的二维平面中,我们做例如以下如果:
1、 每次仅仅能移动一格;
2、 不能向后走(如果你的目的地是“向上”,那么你能够向左走。能够向右走,也能够向上走。可是不能够向下走)。
3、 走过的格子马上塌陷无法再走第二次。
求走n步不同的方案数(2种走法仅仅要有一步不一样,即被觉得是不同的方案)。
1、 每次仅仅能移动一格;
2、 不能向后走(如果你的目的地是“向上”,那么你能够向左走。能够向右走,也能够向上走。可是不能够向下走)。
3、 走过的格子马上塌陷无法再走第二次。
求走n步不同的方案数(2种走法仅仅要有一步不一样,即被觉得是不同的方案)。
Input
首先给出一个正整数C。表示有C组測试数据
接下来的C行。每行包括一个整数n (n<=20)。表示要走n步。
接下来的C行。每行包括一个整数n (n<=20)。表示要走n步。
Output
请编程输出走n步的不同方案总数。
每组的输出占一行。
每组的输出占一行。
Sample Input
2 1 2
Sample Output
3 7
非常easy的规律问题,非常像核反应哪一题。
#include<stdio.h> int a[23]; int main() { int n,m,i; a[1]=3;a[2]=7; for(i=3;i<22;i++) a[i]=a[i-2]*3+(a[i-1]-a[i-2])*2; scanf("%d",&n); while(n--) { scanf("%d",&m); printf("%d ",a[m]); } return 0; }