c实现:骨牌覆盖问题·二
2015-04-19 20:48
274 查看
#include <stdio.h>
long MOD = 12357;
long N;
long a[5];
void solve()
{
int i = 0;
a[0] = 0;
a[1] = 2;
a[2] = 3;
for (i = 3; i <= N; i++)
{
if (i & 1)
{
a[i%5] = (2*a[(i-1+5)%5] + a[(i-2+5)%5]) % MOD;
}
else
{
a[i%5] = (3*a[(i-2+5)%5] + a[(i-3+5)%5]) % MOD;
}
}
if (N & 1)
{
printf("0\n");
}
else
{
printf("%ld\n",a[N%5]);
}
}
int main()
{
scanf("%ld",&N);
solve();
return 0;
}
相关文章推荐
- 题目1 : 骨牌覆盖问题·二 (矩阵快速幂+分析状态的表示+题目的提示分析很好很经典)
- 2015编程之美 骨牌覆盖问题·二 (快速幂)
- 【hiho一下 第四十二周】骨牌覆盖问题·二
- hihoCoder 1151 : 骨牌覆盖问题·二 矩阵快速幂
- hiho一下·41 骨牌覆盖问题·一(矩阵快速幂·费波拉契)
- hiho一(第四十一周)------骨牌覆盖问题·一
- 题目1 : 骨牌覆盖问题·一 (线性递推+矩阵快速幂)
- 2015编程之美 骨牌覆盖问题·一(矩阵快速幂)
- 【hiho一下 第四十一周】骨牌覆盖问题·一
- #1162 : 骨牌覆盖问题·三
- hihoCoder 1143 : 骨牌覆盖问题·一 矩阵快速幂
- hihoCoder #1143 : 骨牌覆盖问题·一
- C++实现&nbsp;贪心算法-区间覆盖问题
- hihoCoder#1143 : 骨牌覆盖问题·一
- 快速矩阵幂 hihoCoder1162 骨牌覆盖问题·三
- <转载> 8皇后问题(java算法实现)
- 算法小白总结(三)-----分治法&&棋盘覆盖问题
- Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序
- POJ 2125 --Destroying The Graph【最小割解决 "最小点权覆盖问题" && 输出解(割边集) && 各种不懂】
- hihoCoder #1151 : 骨牌覆盖问题·二 (矩阵快速幂,DP)