首页 > 其他 > 详细

milking grid

时间:2018-04-11 22:38:04      阅读:222      评论:0      收藏:0      [点我收藏+]

#include<iostream>
#include<cstring>
char a[10010][85],za[85][10010];
int R[10010],C[10010];
using std::cin;
using std::cout;
using std::endl;
int r,c;

void fR( ){//横行直接整行求next
R[0]=-1;
int j=-1,i=0;
while(i<r){
if(j==-1||!strcmp(a[i], a[j])){
i++;j++;
R[i]=j;
}
else j=R[j];
}
}

void fC( ){
C[0]=-1;
int j=-1,i=0;
while(i<c){
if(j==-1||!strcmp(za[i], za[j])){
i++;j++;
C[i]=j;
}
else j=C[j];
}
}
int main(){
cin>>r>>c;
for(int i=0;i<r;i++)
scanf("%s",a[i]);
fR();
for(int i=0;i<r;i++)//矩阵翻转
for(int j=0;j<c;j++)
za[j][i]=a[i][j];
fC();//继续整行求next
cout<<(r-R[r])*(c-C[c])<<endl;
return 0;
}

milking grid

原文:https://www.cnblogs.com/alugonum/p/8799067.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!