ZOJ 3497 Mistwald
来源:互联网 发布:x80锐途凯立德导航端口 编辑:程序博客网 时间:2024/06/11 00:42
题意:要从(1,1)走到(m,n),每格有四个出口,可以走向另外4个格子,现在告诉你走p步走到了(m,n)点,问是否是真的
分析:矩阵求p次幂,初始为单位矩阵,判断,(0,0)-(m,n)=0,输出false,(0,0)-其他点为1,输出maybe,否则输出true
题目中说名到了(m,n)点之后就不能再走 了,所以矩阵相乘的时候稍微处理一下
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<string>#define N 30using namespace std;int cnt;struct Matrix{ int m[N][N];}tmp,map;Matrix multiply(Matrix a,Matrix b){ Matrix ret; int i,j,k; for(i=0;i<cnt;i++){ for(j=0;j<cnt;j++){ ret.m[i][j]=0; for(k=0;k<cnt-1;k++){ // 这里要注意 ret.m[i][j]=ret.m[i][j]|a.m[i][k]*b.m[k][j]; } } } return ret;}void solve(int p){ Matrix ans; int i,j; memset(ans.m,0,sizeof(ans.m)); for(i=0;i<cnt;i++) ans.m[i][i]=1; for(i=0;i<cnt;i++) for(j=0;j<cnt;j++) tmp.m[i][j]=map.m[i][j]; while(p){ if(p&1) ans=multiply(ans,tmp); p>>=1; tmp=multiply(tmp,tmp); } if(ans.m[0][cnt-1]==0){ printf("False\n"); return ; } for(i=0;i<cnt-1;i++){ if(ans.m[0][i]==1){ printf("Maybe\n"); return ; } } printf("True\n"); return ;}int main(){ int t,i,j,k,x,y,l,n,m,p,q; string str; scanf("%d",&t); while(t--){ scanf("%d%d",&n,&m); memset(map.m,0,sizeof(map.m)); for(i=0;i<n;i++){ for(j=0;j<m;j++){ cin>>str; l=str.size(); for(k=2;k<l;k+=6){ x=str[k]-'1'; y=str[k+2]-'1'; map.m[i*m+j][x*m+y]=1; } } } cnt=n*m; scanf("%d",&q); while(q--){ scanf("%d",&p); solve(p); } printf("\n"); } return 0;}
0 0
- ZOJ 3497Mistwald
- zoj 3497 Mistwald
- zoj 3497 mistwald
- ZOJ 3497 Mistwald
- ZOJ 3497 Mistwald
- zoj 3497 Mistwald
- ZOJ 3497Mistwald
- zoj 3497 Mistwald (矩阵应用)
- ZOJ 3497Mistwald 矩阵加速DP
- zoj-3497-Mistwald-矩阵
- ZOJ 3497 Mistwald(矩阵快速幂)
- zoj 3497 Mistwald 矩阵快速幂
- zoj 3497 Mistwald 矩阵快速幂
- ZOJ 3497 Mistwald(矩阵快速幂)
- ZOJ 3497Mistwald(矩阵快速幂)
- ZOJ 3497 Mistwald【矩阵快速幂】【图论】
- zoj 3497 Mistwald 矩阵快速幂
- zoj 3497 Mistwald(矩阵快速幂)
- 推荐-OpenCV学习材料
- Log4j 详细用法
- ZOJ 3717 二分+2-sat判定。
- POJ-2481 Cows 树状数组
- ios开发时,在Xcode中添加多个targets进行版本控制
- ZOJ 3497 Mistwald
- SpringMVC获取request对象和response对象
- workspace & subProject & target
- 常用数学符号的 LaTeX 表示方法
- 在Xcode中创建静态库,并使用Target支持不同平台
- C++编译不了的C程序
- apache shiro 入门(一)
- 免费的WebService接口
- PHP中获取当前页面的完整URL