Pagini recente » Cod sursa (job #2627324) | Cod sursa (job #1441658) | Cod sursa (job #1272065) | Cod sursa (job #2895786) | Cod sursa (job #2760954)
#include <bits/stdc++.h>
using namespace std;
ifstream f("dreptpal.in");
ofstream g("dreptpal.out");
int n,m;
int v[1005][1005],manacher[1005][1005];
void compute_manacher(int ind)
{
int l=0,r=0;
for(int i=1; i<=m; i++)
{
int k;
if( i>r ) k=1;
else k=min( manacher[ind][l+r-i],r-i+1 );
while( i-k>=1&&i+k<=m&&v[ind][i-k]==v[ind][i+k] )
{
k++;
}
manacher[ind][i]=k;
k--;
if( i+k>r )
{
l=i-k;
r=i+k;
}
}
}
void solve()
{
}
int main()
{
cin>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
cin>>v[i][j];
for(int i=1; i<=n; i++)
compute_manacher(i);
solve();
}