|
du熊填数字 Time Limit: 3000/2000 MS (C/Others) Memory Limit: 65536/32768 K (C/Others)
8 o9 q7 V7 U$ i% Y4 H9 Y* I$ r+ q7 @0 V本次组委会推荐使用C、C++ Problem Description- R6 Q- e! Q# y5 q5 ]: L
: W# X" U& Z& f2 h2 ` du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:4 Z* o, D# j @# ?9 Y+ Y2 u8 E
du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。
) {' F, n% n- }3 z, w4 V% |5 q 请你帮du熊计算一下有多少种填法。) d7 G2 F: O1 w! [) J) U4 ~% x
Input7 n# @% z2 L0 s7 Q2 m
9 ^& ^4 l9 P8 a" \4 @% h) i
输入包含多组测试数据,每组数据包含一个偶数n (2 <= n <= 500)。
* Q8 l- k9 i0 g% M5 VOutput# W& [; }; Y7 g$ V7 a( b* ^
' A6 R5 G `- \. i) t5 ~ 请计算并输出对2012取余后的结果。, [$ T- L% r' n- |0 I; ]
+ n0 i: s. K% B& O* C+ r) X
Sample Input
; N( P3 ]" R6 z; H) B! Q6 g2 i9 N; E
2# d5 B4 G$ T, n8 @# B: H
4
; G+ }% Z3 T: _+ I: FSample Output
& d* A* H& P0 ] {3 C* |; N16
. ]1 y1 Z) `! C- P- ~9 r& k+ ] l2 \1952
5 J$ Y! F( z* b" H. W# @* h' k7 C
/ s0 f* s9 B( jHint
9 l6 O A" }2 r9 u9 V. [当n = 4时
% ~$ K+ o7 ^% D3 l' t/ ]- \+ s1 S, p/ @
1011; \! m9 Y$ G* {2 G/ V# e* Q
01007 R" B+ C$ v) J& k. F! b2 o
0100
. @5 q) E0 ^: ^0 Z$ o0000
9 b' Y2 G% j, r3 ]% l& J1 G是满足要求的1 G9 W% Y. A! R0 @/ O' Y0 a" u5 L
/ R7 ?( d# n% [5 x: R+ b
1111) s- K+ A' Q9 e) f# d
0100& I6 f0 n( S6 r6 f! q/ [
01001 } D& R7 y C1 p
00007 g# l% \! D( `
是不满足要求的,因为第一行第二列的1和第二行第二列的1相邻且位于不同的层。
/ |$ {7 U5 e( D* b4 w- Y$ a
' Z+ W6 t2 _! }2 J7 h
( [2 q, B* {, b j7 b$ S1 ^ |