码迷,mamicode.com
首页 > 其他好文 > 详细

milking grid

时间:2018-04-11 23:11:02      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:else   矩阵   end   main   矩阵翻转   har   while   int   clu   

#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

标签:else   矩阵   end   main   矩阵翻转   har   while   int   clu   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!