#include<fstream>
#include<cstring>
using namespace std;
const int dx[4]={-1,1,0,0};
const int dy[4]={0,0,-1,1};
char a[20][20],s[50],smax[50],v[]="aeiou";
int n,m,b[20][20],i,j,maxx;
ifstream f("date.in");
ofstream g("date.out");
int inside(int i,int j)
{
return i>=1 && i<=n && j>=1 && j<=m;
}
void back(int i, int j, int pas)
{ int k,inou,jnou;
b[i][j]=1;
if (pas>maxx)
{ maxx=pas;
s[pas]=0;
strcpy(smax,s);
}
for(k=0;k<4;k++)
{ inou=i+dx[k];
jnou=j+dy[k];
if (inside(inou,jnou) && strchr(v,a[inou][jnou]) && b[inou][jnou]==0)
{
s[pas]=a[inou][jnou];
back(inou,jnou,pas+1);
}
}
b[i][j]=0;
}
int main()
{ f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(strchr(v,a[i][j]))
{
s[0]=a[i][j];
back(i,j,1);
}
g<<smax;
return 0;
}
|