|
du熊填数字 Time Limit: 3000/2000 MS (C/Others) Memory Limit: 65536/32768 K (C/Others)
7 i, a& w) E' n4 J: y1 y: X本次组委会推荐使用C、C++ Problem Description
% j3 k% Y3 G: d( v0 _
* f/ M9 K. j2 i: f; S! \ du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:
: a& Y* p! @1 |( r( Z* D+ s du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。; p2 h+ c) A; c. V
请你帮du熊计算一下有多少种填法。 L0 W6 { L+ x; [
Input5 c3 ?% N5 F1 d" ]' Y% `2 c) K" [
5 h3 F& `, ?3 l6 ~6 _+ X9 { 输入包含多组测试数据,每组数据包含一个偶数n (2 <= n <= 500)。
5 f. ]4 b$ l& T2 G# n+ ^- w7 aOutput
f- ^2 p: F6 ^% q3 W6 T% o! y: }2 ^* d5 o/ [( `0 t
请计算并输出对2012取余后的结果。
$ k4 }$ @5 ?4 _3 k" K0 ?- p. g
, s: r3 U- Z: {) HSample Input* X5 I/ x+ A* j# t- L
. z3 k) Y& N6 I+ Q7 X% n& A2
, Y8 y9 j+ |9 A( r" O4
: K* h4 y5 G: B% @4 O8 F6 B. vSample Output
7 {7 \3 F; W# \5 [. p* w6 G* S16
. Z! |8 @5 @3 V1952+ h1 f9 S6 F6 F+ V- f. _5 N
+ x$ l0 d8 d. Q* J. Q9 V
Hint3 y. r1 S7 F% U; {
当n = 4时
/ X! n f: ^5 Q% h( l; a& S- K1 b5 |! Y& G! }2 W i
1011: V6 S9 [* H& V3 R q; }
0100
8 n) M! U6 Q( W; G* s6 S9 n01008 J" G/ P3 u6 ~8 F. x# p" O( X5 ^
00000 X, o9 u7 D7 J8 [
是满足要求的
) K( G& m3 D$ |0 H! U
8 T& |1 o7 C* @9 J5 D$ u- v1111
" P# ~) A- C( `& Z8 [/ P0100% e% ~4 x. Y9 x3 |7 g! ~- ^
0100/ S4 t4 `2 c7 p2 x& J" f
00005 G% Q) J- b0 |, e
是不满足要求的,因为第一行第二列的1和第二行第二列的1相邻且位于不同的层。
: P4 ^: \! {( \5 u/ ?' Z
4 e+ g9 _. u( d! }
8 Z8 s& u6 B) R* p% W: g |