|
du熊填数字 Time Limit: 3000/2000 MS (C/Others) Memory Limit: 65536/32768 K (C/Others)
- O, }3 [& y" n本次组委会推荐使用C、C++ Problem Description
3 C9 G0 V4 K n7 [9 M5 {8 s8 k h$ P
' H1 @( x' Y/ l3 p3 J: |, P3 i du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:
* N, H% z f* ~: [ du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。
; B- y; B/ g/ k- T0 b, @+ p+ [- u 请你帮du熊计算一下有多少种填法。
; L7 J9 _$ j! R7 ^3 _) XInput
/ p! p' e, W5 ?9 g& J& c a0 t
' Q- Q4 t( c; p. M5 V* U1 { 输入包含多组测试数据,每组数据包含一个偶数n (2 <= n <= 500)。 K; x$ P0 j; y
Output
" T; Q5 r: b3 p5 z! V# F3 o2 d/ n/ U5 s4 |4 _ Y9 x$ F R
请计算并输出对2012取余后的结果。
- [ p4 Q% m8 ~4 H' b$ H
3 q+ d( k: s2 n7 A0 ?Sample Input0 y2 f& m3 @# I* X$ g
6 T1 f- v f6 l
2
! o2 w: n5 E! F0 d/ e45 j& O) C- P/ f+ Z# k h
Sample Output
/ x/ p ^ ~% f9 X9 C p; J. r160 w: K6 Q% F4 O" ^; E
1952- X) P0 Q* C# q( _, C, y r( t; K+ i7 M
6 G: d( q: M' v+ w2 |- \5 m; x; j
Hint7 t( R. o5 p! P3 L
当n = 4时
( K; f8 L4 v2 E0 Q" K! [% I) Q% P7 o; T- Z9 s" R
1011
0 T5 u2 r; i: M9 N0100
! j8 \1 N7 K: c* l7 @0100! N- z( \& U) f" o7 s
0000
@3 v* j- ~+ n8 Q1 O5 \是满足要求的
4 _ K* m% w0 G G8 C8 R" C: q6 r3 ?" Z9 T
1111
* m( i5 `( V' c+ N. n2 e) k0100
8 ?0 k9 }/ G. p6 Q) q0100& p4 i: e" b9 E4 S: Q3 Z7 Q' Z/ r5 h
0000' K6 C4 R# O# x5 F; g* K& d+ a
是不满足要求的,因为第一行第二列的1和第二行第二列的1相邻且位于不同的层。/ ?- S+ F/ {$ o2 A
8 P ?6 j! f+ @
3 H0 f' L; a) o |