Pagini recente » Cod sursa (job #626659) | Cod sursa (job #877234) | Cod sursa (job #1678710) | Cod sursa (job #1856205) | Cod sursa (job #1370910)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tsunami.in");
ofstream g("tsunami.out");
#define MAX 488
int main()
{
int n,m,nr=0,i,j,h;
long a[MAX][MAX],b[MAX][MAX];
f>>n;
f>>m;
f>>h;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{f>>a[i][j];
b[i][j]=0;}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
if(a[i+1][j]>0)
b[i][j]++;
if(a[i-1][j]>0&&i!=0)
b[i][j]++;
if(a[i][j-1]>0)
b[i][j]++;
if(a[i][j+1]>0)
b[i][j]++;
}
for(i=1;i<n-1;i++)
for(j=1;j<m-1;j++)
{
if(a[i][j]<h && b[i][j]<4&&a[i][j]!=0)
nr++;
}
if(a[0][0]<h&&b[0][0]<2&&a[0][0]!=0)
nr++;
if(a[0][m-1]<h&&b[0][m-1]<2&&a[0][m-1]!=0)
nr++;
if(a[n-1][0]<h&&b[n-1][0]<2&&a[n-1][0]!=0)
nr++;
if(a[n-1][m-1]<h&&b[n-1][m-1]<2&&a[n-1][m-1]!=0)
nr++;
for(i=1;i<n-1;i++)
{
if(a[i][0]<h&&b[i][0]<3&&a[i][0]!=0)
nr++;
if(a[i][m-1]<h&&b[i][m-1]<3&&a[i][m-1]!=0)
nr++;
}
for(i=1;i<m-1;i++)
{
if(a[0][i]<h&&b[0][i]<3&&a[0][i]!=0)
nr++;
if(a[n-1][i]<h&&b[n-1][i]<3&&a[n-1][i]!=0)
nr++;
}
g<<nr;
return 0;
}