Hard Wuxing

Accepted : 11 Submit : 153
Time Limit : 1000 MS Memory Limit : 65536 KB 

题目描述

“五行”是中国传统哲学思想,它认为认为大自然的现象由“木、火、土、金、水”这五种气的变化所总括, 不但影响到人的命运,同时也使宇宙万物循环不已。 五行具有相生相克的性质,规律如下:

  • 五行相克:金克木,木克土,土克水,水克火,火克金。
  • 五行相生:金生水,水生木,木生火,火生土,土生金。
  • 五行任一行与其他五行的关系为:同我、生我、我生、克我、我克。

 
给你一个1*n的格子,将五行填上去,每格填一个,要求相邻格以及首尾格不能是同我和相克的关系, 请问一共有多少种不同的方案?

输入

多组样例,每组一个整数n(0≤n≤10 18 ),如果n为0,表示输入结束,这个样例不需要处理。

输出

每行输出一个样例的结果,因为数值可能非常大,请将结果对10 9 +7取模。

样例输入

1
2
0

样例输出

5
10
找出递推关系式然后用矩阵快速幂
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const long long int MOD=1e9+7;struct MARTRIX
{long long int m[5][5];
}E,A;void init()
{memset(E.m,0,sizeof(E.m));memset(A.m,0,sizeof(A.m));E.m[0][0]=E.m[1][1]=E.m[2][2]=1;A.m[0][2]=A.m[1][1]=A.m[1][2]=A.m[2][1]=1;A.m[2][0]=2;
}MARTRIX muil(MARTRIX a,MARTRIX b)
{MARTRIX ANS;memset(ANS.m,0,sizeof(ANS.m));for(int i=0;i<3;i++){for(int j=0;j<3;j++){ANS.m[i][j]=0;for(int k=0;k<3;k++){ANS.m[i][j]=(ANS.m[i][j]+a.m[i][k]*b.m[k][j]%MOD)%MOD;}}}return ANS;
}MARTRIX POW(long long int n)
{init();while(n){if(n&1LL) E=muil(E,A);A=muil(A,A);n>>=1;}return E;
}void solve(long long int n)
{MARTRIX M=POW(n);printf("%I64d\n",(M.m[0][0]*5)%MOD);
}int main()
{long long int n;
while(scanf("%I64d",&n)!=EOF)
{if(n<=3){if(n==1) puts("5");else if(n==2) puts("10");else if(n==3) puts("0");continue;}solve(n);
}return 0;
}

Hard Wuxing相关推荐

  1. 面向对象程序设计第三次实验课——Wuxing

    请无视奇葩常量名-- // wuxing.h#pragma once #include <iostream> #include <cstring> #include <s ...

  2. 湘潭校赛 Hard Wuxing

    Hard Wuxing Accepted : 13   Submit : 166 Time Limit : 1000 MS   Memory Limit : 65536 KB 题目描述 "五 ...

  3. Game of Wuxing

    Game of Wuxing Accepted : 18 Submit : 35 Time Limit : 1000 MS Memory Limit : 65536 KB  题目描述 "五行 ...

  4. 湘潭校赛 Easy Wuxing

    Easy Wuxing Accepted : 25   Submit : 124 Time Limit : 1000 MS   Memory Limit : 65536 KB 题目描述 "五 ...

  5. 湘潭赛Easy wuxing(递推+矩阵快速幂or DP)

    湘潭赛Easy wuxing(递推+矩阵快速幂or DP) 十分感谢老师的思路! 题目描述 "五行"是中国传统哲学思想,它认为认为大自然的现象由"木.火.土.金.水&qu ...

  6. ZOJ 3328 WuXing

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3328 题面: Wu Xing Time Limit: 1 Sec ...

  7. XTU—1190 Game of Wuxing

    纯模拟 http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1190 #include<cstdio> int mai ...

  8. 湘潭大学oj 1191 Hard Wuxing

    矩阵乘法求解.非常卡时间.因为转移矩阵固定,直接处理出快速幂中所有转移矩阵的幂.还有因为没用longlongRE了一发 #include <cstdio> #include <alg ...

  9. 让我们一起来起花名吧

    原文:https://xcoder.in/2016/02/24/lets-hua/ 起因 起因是我一个叫『小龙』的好基友由于某些原因离职去了一家跟阿里一样有着『花名文化』的公司,于是开始为花名犯愁. ...

最新文章

  1. Zookeeper 安装和配置
  2. Linux里面的正则表达式!
  3. 奶粉中含PHP作用,奶粉中的益生菌有什么作用
  4. java ndc_通过slf4j/log4j的MDC/NDC 实现日志追踪
  5. 计算机网络基本操作命令的使用,计算机网络-路由器基本命令操作实验指导书--华为...
  6. python写一个完整的小程序_写一个python小程序
  7. java中使用nextLine(); 没有输入就自动跳过的问题?
  8. 模型堆叠(Stacking)和模型融合的原理与实现以及一个库heamy的介绍
  9. 洛谷3004 [USACO10DEC]宝箱Treasure Chest
  10. 16.Linux 高性能服务器编程 --- 服务器调制,调试和测试
  11. 小米8绑定账号和设备验证失败_网赚项目刚需账号答疑大集合!
  12. QMS-云质-质量管理软件-企业数字化质量管理解决方案
  13. java电影推荐系统_基于Mahout的电影推荐系统
  14. 2022年高教社杯全国大学生数学建模竞赛-【比赛规则篇】比赛规则及比赛指导
  15. 【Excle数据透视表】如何让字段标题不显示“求和项”
  16. 北斗导航 | ION GNSS+ 2014到 ION GNSS+ 2017会议论文下载:ION 美国导航学会
  17. 小米2+android版本,小米2/2S Android 4.4.2刷机详细教程
  18. 业务规则引擎:Code Effects 5.X Crack-New
  19. MEM/MBA数学强化(06)数列
  20. 如何去掉 APFS 宗卷 • APFS(加密)的加密功能

热门文章

  1. Mysql如何对两张表的相同字段,同时查询两张数据表
  2. CSS设置文字背景虚化,变透明的两种方法
  3. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java网上蛋糕销售软件9h34h
  4. MVC项目实例--GuestBook
  5. iMazing许可证编号如何激活苹果版手机管理器支持 Win / Mac 双平台
  6. 曾经有望挑战苹果的魅族,如今靠为苹果用户提供配件而生存
  7. 天玑9000和苹果a15哪个强 天玑9000和苹果a15对比差距
  8. main函数的参数的含义
  9. 在html和vue中使用iconfont的symble色彩图标
  10. mimic数据库提取(Navicat)