|
du熊填数字 Time Limit: 3000/2000 MS (C/Others) Memory Limit: 65536/32768 K (C/Others)
; y; F6 N& u- v3 F本次组委会推荐使用C、C++ Problem Description! U5 l& Q$ o R$ }' e% E6 z; H/ [
. u9 t" e1 x/ }. H$ ]1 m du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:
1 j- c( P3 ?) i+ V du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。2 q- W0 S0 h' v% U2 W6 q
请你帮du熊计算一下有多少种填法。
3 j# \% @/ K+ Z% D! tInput/ B R: H- w2 i- N% Y7 W: ~3 M7 ~
- E. ?' ?3 t# d3 c, y- G5 N7 s8 S
输入包含多组测试数据,每组数据包含一个偶数n (2 <= n <= 500)。1 h2 g3 U/ j' e6 R7 l
Output
2 K9 R$ t# j7 s: n" T5 Y. W
" e: h. d9 V& A* \" L% D% ]9 e. j4 @6 u 请计算并输出对2012取余后的结果。
t: P% H$ X {6 A5 o$ i
( Y0 ?: G5 l( |- Z- L2 jSample Input
% a/ ^" A. }- p
- c, [/ E" n" M; J5 T# J, l( \2! h; q/ i( V" E
49 x9 @1 X" z9 N7 \# f
Sample Output' w8 _! L- w2 Q, w$ _
16( _: g- T$ w3 A' g: _
1952
* H' f' \5 R# a: F* {
1 V$ J8 z8 m2 H$ J4 rHint5 j! a- g3 Z n7 q7 t
当n = 4时
* g+ c# V4 }% c& ` ]) P+ L0 \ s+ [5 E' W& H( Q
1011) q" O i: c2 y, [) F0 L6 ^
0100' w! d% i: K9 N. v
01006 N1 r% B0 `3 t5 z) f
0000 W. q' p" w( u
是满足要求的7 O3 P# n" K, q+ h5 [3 s8 G2 q$ F
; \( Q# f5 L$ J7 p# X( m+ }1111
! Y3 e3 R/ P+ \' p5 [$ C3 j+ g0100' _- A& v9 r# p6 B( _( `
0100
* x# ^ J0 ]+ c! C: m/ d00009 m/ N7 V6 s/ [6 U+ N* n
是不满足要求的,因为第一行第二列的1和第二行第二列的1相邻且位于不同的层。. w% G4 k1 L6 F l# C. {- P
l9 }( u0 V- L# I: S; O6 t* c: J" k) \+ G5 @) t
|