|
du熊填数字 Time Limit: 3000/2000 MS (C/Others) Memory Limit: 65536/32768 K (C/Others) / x# {* w4 X3 g* |" s
本次组委会推荐使用C、C++ Problem Description
8 p; G! q8 T9 a9 s5 W% U2 S5 E8 ?$ h( a
du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:
/ s9 f' V* \7 i4 y3 r0 [ du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。! s4 i8 `6 c3 W4 C+ O0 Q% R# |
请你帮du熊计算一下有多少种填法。
6 q* s( S; n) p. ?9 VInput
: A8 I2 z C4 U5 v# Z3 T1 [0 b% _1 o
输入包含多组测试数据,每组数据包含一个偶数n (2 <= n <= 500)。# ^2 ], V; M! A* H$ O
Output
* l: h, \5 R7 V) N& f1 }# `3 C C6 u
0 R( X. ^' M3 H" ` 请计算并输出对2012取余后的结果。, s5 n6 N1 @ {4 F" |
( }5 Y: {( Y! W" \% F" W# P
Sample Input
: a1 q% V2 z+ Z
: Y, O j& c" P" i% H' p23 B8 r a/ _/ a0 p. H
4
: W, @" B" k: w$ X; VSample Output
; ~# O$ A( q" ~/ T16
) F" a: W" L& [( e5 v7 N5 f1952/ G$ }0 C9 ^+ c8 K( Y
) D1 d2 I" q) @4 p1 a: V
Hint
! l# {6 l) m8 U5 X. R Q当n = 4时5 S- I, U: s' L9 r( l( k- Z
( @3 O: D0 A+ y& o6 Q6 U" c1011
2 P8 `9 Z2 V6 w0100
# }* Y6 Y/ M9 i# M! |# u& c3 _0 f0100
* H& x- i: I/ m: Y. R. n2 D00007 F! b' |# t0 j. e2 p" E8 v
是满足要求的 n% h! W5 d7 d* d/ v
- J, T3 s! K m0 e# Y& q9 v
1111
- H, W. d/ | Y0 ^0100
# j5 O4 g( `! d* O0100
! O$ p$ c3 X' N& y0000$ }/ L0 ^5 Q/ ]( ?& {/ S) T
是不满足要求的,因为第一行第二列的1和第二行第二列的1相邻且位于不同的层。 _/ d) R: ~* s4 s
+ a8 U, n) r! n. R; ?$ f( v( k
( n+ X. M) V1 r' w7 j5 h o+ D |