|
du熊填数字 Time Limit: 3000/2000 MS (C/Others) Memory Limit: 65536/32768 K (C/Others)
5 f. t2 Q5 O2 I) u0 `( M6 O本次组委会推荐使用C、C++ Problem Description
' v- X% ?9 @8 d7 b; ^0 T4 e6 L4 T% C1 t4 T" _4 O. U* ]! f% C
du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:
( G7 G! w7 o+ Y; P C# ]2 M1 \ du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。
1 T: a" ?" D g' c 请你帮du熊计算一下有多少种填法。
# P+ F- \- R' F! ZInput
+ ^3 k: _0 H7 F9 l h
- m: U8 w! l. q% g" L6 K% Y 输入包含多组测试数据,每组数据包含一个偶数n (2 <= n <= 500)。
6 k1 n c6 Q1 jOutput
' r+ G) q; M9 @2 A) Z$ [5 s
# e3 X# ]' C1 T9 n! j) r 请计算并输出对2012取余后的结果。, n) q7 G; H: x1 F3 Z' C9 S" X1 z
2 t4 M+ m6 V d9 o: E. _! z( l
Sample Input" M7 B; t5 f8 C2 g: S- J
( M# p6 k1 b# i8 G. R) C, z
2' W" l! v( }' h! |" B9 v
4
0 V. b2 {! B& i2 S' kSample Output0 C8 h9 w- Z4 I
16# R# R: x) u- C* _6 |* e2 K
19521 r6 ~* n; O. b6 ?+ A$ i
7 i( e6 a' z8 A) w6 h7 `7 X
Hint
- V) R" \. W, o# X/ \9 ?当n = 4时
. m9 J, b# d$ B6 p$ R: |4 e k M# p5 n. X
1011
- b) S( n* m; }: s& [( o0 ]0100 y2 G; D+ K' ]# e
0100
# J: ], g5 ~$ ~5 K% w8 O7 K9 Y0000; [) W3 J; @7 c8 C3 @" V' r
是满足要求的
2 b1 g7 O% ~6 b) C0 t, X8 _; ?
3 z5 ~2 C- P# s3 V+ F1111: Q, `# w2 Z- H
0100" H s5 r. i) j+ N# M# p. |
01000 \. y0 x0 l- m$ M+ E3 }5 {
0000: `, p p- [6 `
是不满足要求的,因为第一行第二列的1和第二行第二列的1相邻且位于不同的层。
4 _5 X) Y, f+ c3 R7 r ) j. A2 ~# H! V0 t* q
6 U; k( I+ |# K! j' t5 M |