代码:
#include<iostream>
#include<string>
using namespace std;
int n;
string inp[100+1];
int countlen1(int x, int y){
int res=0,k=1;
while(true){
if(k>x || k>y || k>n-x-1 || k>n-y-1)break;
if(inp[x-k][y-k]=='1'&&inp[x+k][y+k]=='1'&&inp[x-k][y+k]=='1'&&inp[x+k][y-k]=='1')res++;
k++;
}
return res;
}
int countlen2(int x, int y){
int res=0,k=1;
while(true){
if(k>x || k>y || k>n-x || k>n-y)break;
if(inp[x-k][y-k]=='1'&&inp[x-k][y+k-1]=='1'&&inp[x+k-1][y-k]=='1')res++;
k++;
}
return res;
}
int main(){
cin>>n;
int cnt=0;
for(int i=0;i<n;i++)cin>>inp[i];
for(int i=1;i<n-1;i++)for(int j=1;j<n-1;j++){
if(inp[i][j]=='1')cnt+=countlen1(i,j);
}
for(int i=1;i<n;i++)for(int j=1;j<n;j++){
if(inp[i][j]=='1')cnt+=countlen2(i,j);
}
cout<<cnt<<endl;
return 0;
}