您的位置:首页 > 其它

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: