染色
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 16 Accepted Submission(s) : 4
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
有白色方格组成的2*N矩阵,将格子全部染成黑色。染色规则如下:
a. 任选2N个中的任意一个,将其染黑
b. 随后的每一次染色必须和某个已经染色的位置相邻,两格相邻是指水平,垂直或者对角邻接
问有多少种染色方法?
Input
输入含有多组测试用例。每个测试数据用例仅一行,包含一个整数N, 1 ≤ N ≤ 1,000. 输入以N = 0结束
Output
对于每一测试用例,输出方法数,由于结果很大,要对1,000,000,007取模后输出
Sample Input
1
2
3
0
Sample Output
2
24
480
Author
hnust_loser
思路:规律题,求大神解法。
#include<stdio.h> #define inf 1000000007 int main() { int n,i; __int64 sum; while(scanf("%d",&n)&&n) { int hash=12; sum=2; for(i=1;i<n;i++) { sum=sum*hash%inf; hash+=8; } printf("%I64d\n",sum); } return 0; }