|
du熊填数字 Time Limit: 3000/2000 MS (C/Others) Memory Limit: 65536/32768 K (C/Others)
/ ^( ?( j% Y" n2 V2 S/ f4 X本次组委会推荐使用C、C++ Problem Description! K6 L! c( | @. U' D* M% w/ J
6 g" y2 v( K) y2 a+ {. _4 i* l% V& h* E
du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:
) ^ W% }: A9 o' O* W5 g du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。
. p c% E* k4 r7 s 请你帮du熊计算一下有多少种填法。
) G$ U. t# x: C8 G" K0 _Input
: a7 J" t# ^ D- O7 `! K: B, Q* F
* t8 q9 E2 o0 m/ H 输入包含多组测试数据,每组数据包含一个偶数n (2 <= n <= 500)。' {. M- q; f# C. _' Q& `% M0 V
Output" h1 ]+ u/ A7 r5 Q% B9 E
, v; P* Y$ H" E- D0 B" Y3 Z. c
请计算并输出对2012取余后的结果。
) q+ v+ }$ M) K! u6 H* D/ N5 F' K% T+ Y: G: X' Y
Sample Input
) s" H X6 D8 m; ?: X: t7 z& w0 Q% P- ?2 R+ `8 d' N, ^# x$ `8 @/ I
29 z3 L! W$ [, V, s+ @* C* F
4: B1 D- I9 }2 d4 |! |" y* R
Sample Output
- i3 p0 n5 O' J% V' `, m16
. t( o" c* w/ x1952
+ c9 d* N$ s- k8 o- G1 w' s& T# w$ z& D
Hint
% ^+ @1 J8 a C$ w当n = 4时 I. F M9 ~. z5 ?/ C
) z# l* ~: ?9 }/ J2 S1 j% Y- a
1011
) ~2 T. U! Q& k4 Q( k$ Z9 ?2 R01002 S8 p) L0 I" H" P5 a4 J
0100
" c6 T5 A, @# B4 ~2 A0000: Q9 ], l( X; R# J% q* y
是满足要求的+ c3 h. G+ C* p- u
" o. n$ b4 g2 g
1111# n" r1 ?/ e- ^) C% s8 A
0100
, h" n4 F6 Y* @ {9 R2 q0100; G% o1 ~# C. q( o3 I7 G
0000, E- r! w2 q. u; u
是不满足要求的,因为第一行第二列的1和第二行第二列的1相邻且位于不同的层。+ M, u! y7 N; u/ N
* W- I' m. Y! E( J
3 M; y2 n, @# {' _( g7 v |