5分
#include<bits/stdc++.h>
using namespace std;
int n,m,kgsh,k,bv;
int a[1005][1005];
bool kgd(int x,int y){
for(int i=x-1;i<=x+1;i++){
for(int j=y-1;j<=y+1;j++){
if(a[i][j]==1){
return 0;
}
}
}
return 1;
}
bool kd(int x,int y){
for(int i=x-2;i<=x+2;i++){
for(int j=y-2;j<=y+2;j++){
if(a[i][j]==1){
return 0;
}
}
}
return 1;
}
bool shd(int x,int y){
if(a[x][y]==1){
return 0;
}
for(int i=x-1;i<=x+1;i++){
for(int j=y-1;j<=y+1;j++){
if(a[i][j]==1){
return 1;
}
}
}
return 0;
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(kd(i,j)==1){
k++;
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
bool t=0;
if(shd(i,j)==1){
for(int x=i-1;x<=i+1;x++){
for(int y=j-1;y<=j+1;y++){
if(kgd(x,y)==1){
t=1;
}
}
}
if(t!=1){
kgsh++;
}
}
}
}
bv=k+kgsh;
cout<<bv;
return 0;
}