Pagini recente » Cod sursa (job #2782076) | Cod sursa (job #2297776) | Cod sursa (job #860180) | Cod sursa (job #2286019) | Cod sursa (job #294433)
Cod sursa(job #294433)
/*
ID: masterw1
PROG: calfflac
LANG: C++
*/
#include<stdio.h>
#define N 20008
#define MAX(a,b) a>b?a:b
char s[N];
char s1[N];
int a[2];
void citire()
{
gets(s);
for(int i=0;s[i];++i)
{
if(s[i]>='A'&&s[i]<='Z')
s1[i]=s[i]-'A'+'a';
else
s1[i]=s[i];
}
}
bool ver(char c)
{
if(c>='a'&&c<='z')
return true;
return false;
}
int cazimpar(int x)
{
int i,j,p=0;
for(i=x,j=x;s1[j]!=s1[i];j--,++i,++p)
{
while(ver(s1[i]))
++i;
while(ver(s1[j]))
--j;
}
return p;
}
int cazpar(int x)
{
int i,j,p=0;
for(i=x+1,j=x;s1[j]!=s1[i];j--,++i,++p)
{
while(ver(s1[i]))
++i;
while(ver(s1[j]))
--j;
}
return p;
}
void Rez()
{
int i,j,k,max1,max2,max=0;
int q,w;
for(k=1;s1[i];++k)
{
q=cazimpar(k);
w=cazpar(k);
max1=2*q-1;
max2=2*w;
if(max1>max)
{
max=MAX(max,max1);
a[0]=k-q+1;
a[1]=k+q-1;
}
if(max2>max)
{
max=MAX(max,max2);
a[0]=k-w;
a[1]=k+w-1;
}
}
}
void afisare()
{
for(int i=a[0];i<a[1];++i)
printf("%c",s[i]);
}
int main()
{
freopen("calfflac.in","r",stdin);
freopen("calfflac.out","w",stdout);
citire();
Rez();
afisare();
printf("%d %d",a[0],a[1]);
return 0;
}