没有食人鱼不是裸题吗,用一个向量表示从s到1..N的距离,然后不停乘邻接矩阵行了,当然快速幂
有食人鱼,发现食人鱼最多十二个邻接矩阵一循环,处理出12个作为1个然后快速幂行了
 
怎么处理呢?
假设食人鱼在j时刻到达x这个点,那么j时刻的邻接矩阵x这一列全是0,因为他要求下一个矩阵的贡献上不能有x这一列贡献的。
 
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int N=,MOD=1e4;
typedef long long ll;
inline int read(){
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
int n,m,s,t,k,x,y,fish,f[];
struct Mat{
int a[N][N];
Mat(){memset(a,,sizeof(a));}
void ini(){for(int i=;i<=n;i++) a[i][i]=;}
}g[],ans;
inline Mat operator *(Mat A,Mat B){
Mat C;
for(int k=;k<=n;k++)
for(int i=;i<=n;i++) if(A.a[i][k])
for(int j=;j<=n;j++) if(B.a[k][j])
C.a[i][j]=(C.a[i][j]+A.a[i][k]*B.a[k][j])%MOD;
return C;
}
inline Mat operator ^(Mat A,int k){
Mat ans;ans.ini();
for(;k;k>>=,A=A*A)
if(k&) ans=ans*A;
return ans;
}
void print(Mat A){
puts("hiMat");
for(int i=;i<=n;i++){
for(int j=;j<=n;j++) printf("%d ",A.a[i][j]);
puts("");
}
}
int main(){
//freopen("in.txt","r",stdin);
n=read();m=read();s=read()+;t=read()+;k=read();
for(int i=;i<=m;i++){
x=read()+;y=read()+;
for(int j=;j<=;j++) g[j].a[x][y]=g[j].a[y][x]=;
}
fish=read();
for(int i=;i<=fish;i++){
int T=read();
for(int j=;j<=T;j++) f[j]=read()+;
for(int j=;j<=;j++)
for(int k=;k<=n;k++) g[j].a[k][f[j%T+]]=;
}
g[].ini();
for(int i=;i<=;i++) g[]=g[]*g[i];
ans=g[]^(k/);
for (int i=;i<=k%;i++) ans=ans*g[i];
printf("%d",ans.a[s][t]);
}

最新文章

  1. RSA算法及其在iOS中的使用
  2. Trace-语句启动Profiler中暂停的跟踪会出现什么状况
  3. 如何优化sql语句
  4. Java垃圾收集学习笔记
  5. java计算组合数
  6. 2015年第13本(英文第9本):Murder on the Orient Express 东方快车谋杀案
  7. How To Tune or Test PLSQL Code Performance in Oracle D2k Forms
  8. JS初学之-效果没出来怎么办?-alert函数测试
  9. 怎样删除在Github中创建的项目
  10. ural1701 Ostap and Partners
  11. 全方位分析Objcetive-C Runtime 分类: ios技术 2015-03-11 22:29 77人阅读 评论(0) 收藏
  12. 四:java调接口实现发送手机短信验证码功能
  13. Python+PyCharm的一些基本设置:安装使用、注册码、显示行号、字体大小和快捷键等常用设置
  14. 圆方树简介(UOJ30:CF Round #278 Tourists)
  15. React面试题
  16. Java笔记(九)EnumMap &amp; EnumSet
  17. 项目总结17-使用layui table分页表格
  18. 从零开始学习MVC
  19. Java subList、toArray、asList 注意点
  20. 《深入分析JavaWeb技术内幕》学习笔记

热门文章

  1. vue生命周期和react生命周期对比
  2. Django中ORM简述
  3. VINS(五)非线性优化与在线标定调整
  4. MySQL高级-主从复制
  5. H5-基础-day01
  6. 「Python」Convert map object to numpy array in python 3
  7. leetcode-数数并说
  8. Machine Learning笔记整理 ------ (四)线性模型
  9. POJ 3498 March of the Penguins(网络最大流)
  10. 常用linux命令相关