Salut. Am killed by signal 6 pe o problema pe care iau 90 si nu stiu ce ar putea fi. Pe net nu am gasit ceva care sa ma lamureasca in legatura cu cauza erorii.

Daca puteti sa ma ajutati, este vorba de problema Vila. Va las codul mai jos:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("vila.in");
ofstream fout("vila.out");
int n,m,i,j,k,v[130],a[130][130],MAX,s,x,y,sw1,sw2,sw3,sw4;
char c;
void ffill(int l, int c, int nr)
{
++v[k];
a[l][c]=nr;
if(a[l-1][c]==0&&l-1>0) ffill(l-1,c,nr);
if(a[l+1][c]==0&&l+1<=n) ffill(l+1,c,nr);
if(a[l][c-1]==0&&c-1>0) ffill(l,c-1,nr);
if(a[l][c+1]==0&&c+1<=m) ffill(l,c+1,nr);
}
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
fin>>c;
if(c=='1') a
[j]=-1;
else if(c=='-') a[j]=0;
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(a[j]==0)
{
ffill(i,j,++k);
if(v[k]>MAX)
MAX=v[k];
}
fout<<k<<"\n"<<MAX<<"\n";MAX=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(a[j]==-1)
{
s=0;
if(a[i-1][j]>0&&i-1>0) s+=v[a[i-1][j]];
if(a[i+1][j]>0&&i+1<=n&&a[i+1][j]!=a[i-1][j]) s+=v[a[i+1][j]];
if(a[j-1]>0&&j-1>0&&a[j-1]!=a[i-1][j]&&a[j-1]!=a[i+1][j]) s+=v[a[j-1]];
if(a[j+1]>0&&j+1<=m&&a[j+1]!=a[i-1][j]&&a[j+1]!=a[i+1][j]&&a[j+1]!=a[j-1]) s+=v[a[j+1]];
if(s>MAX)
{
MAX=s;
x=i; y=j;
}
}
fout<<x<<" "<<y<<" "<<MAX+1;
return 0;
}