[蓝桥杯]PREV-15.历届试题_格子刷油漆

题目描述:

代码如下:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #define MOD 1000000007
 5 
 6 long long a[1001] = {0};
 7 long long b[1001] = {0};
 8 
 9 int main(void)
10 {
11     int i,n;
12     long long sum;
13     long long a[1001],b[1001];
14     scanf("%d",&n);
15     
16     memset(a,0,sizeof(a));
17     memset(b,0,sizeof(b));
18     
19     b[1] = 1;
20     b[2] = 2;
21     a[1] = 1;
22     a[2] = 6;
23     for (i=3 ; i<=n ; i++)
24     {
25         b[i] = (b[i-1]*2%MOD);
26         a[i] = (2*a[i-1]+b[i]+4*a[i-2])%MOD;
27     }
28         
29     sum = 4*a[n];
30     for (i=2 ; i<n ; i++)
31     {
32         sum += ((8*b[n-i]*a[i-1])%MOD + (8*a[n-i]*b[i-1])%MOD)%MOD;
33         sum %= MOD;
34     }
35     
36     if (n==1)
37         sum = 2;
38     
39     printf("%ld",sum);
40     return 0;
41 } 
C解法

代码参考:https://blog.csdn.net/cc_sonia/article/details/80375854

解题思路:

剩下的,就是走某一步(非顶角)的行走方案,具体参照上面博客提到的解法

猜你喜欢

转载自www.cnblogs.com/mind000761/p/10562223.html