HDOJ-2232 误打误撞..构造矩阵..

网友投稿 236 2022-08-25

HDOJ-2232 误打误撞..构造矩阵..

其实我是在做HDOJ-2238 机器人的舞蹈II 的...构造好矩阵再用矩阵连乘得到结果..结果一直WA...后来发现了2232和2238的描述几乎一模一样..就往2232交..结果就AC了..很蛋疼啊...不清楚机器人相同和机器人不同到底有何区别...

回到这题..关键就是构造矩阵...这里实际上就是要构造各个状之间态经过一次转移能转化的方式数..用搜索就能打出一个8*8的表了...这个矩阵做N次连乘..其s[0][0]就是所需结果(这里是默认 { 11    为矩阵的0行 )...应该好理解吧...为什么只有8种状态..可以将相互之间能通过旋转,对称得到的状态看成同一种状态..那么总的状态数就是8种了..

11 }

我的表是离线打的..其实表是秒出的..仅仅为了缩减代码量~~这道题和HDOJ2238的差别到底何在啊!!!??!!

Program:

#include #include #include #include #define N 8using namespace std; const int M[N][N]={9,32,16,8,4,8,4,0,8,32,15,7,5,9,4,1,8,30,17,8,4,10,3,1,8,28,16,9,4,12,2,2,6,30,12,6,9,10,6,2,6,27,15,9,5,14,3,2,8,32,12,4,8,8,7,2,0,24,12,12,8,16,6,3};struct node{ int s[N][N];}h,temp,T,_2M[33];node Matrix_Mul(node a,node b){ int k,i,j; memset(temp.s,0,sizeof(temp)); for (k=0;kl) break; } memset(T.s,0,sizeof(T.s)); for (i=0;il) { k/=2; p--; } T=Matrix_Mul(T,_2M[p]); l-=k; } return T;}void Output_Matrix(node h){ int i,j; for (i=0;i

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:POJ2778 - AC自动机+非递归的矩阵乘法
下一篇:你的营销闭环就这4个版块!(如何形成完整的营销闭环)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~