#include<iostream>
using namespace std;
int main()
{
int input_n;
char A[102][102]={};
cin>>input_n;
for(int i=1;i<=input_n;i++)
{
for(int j=1;j<=input_n;j++)
{
cin>>A[i][j];
}
}
long long sum=0;
for(int i=1;i<input_n;i++)
{
for(int j=1;j<input_n;j++)
{
int left=j-1,right=j+1,up=i-1,under=i+1;
while(A[up][left]=='1'&&A[up][right]=='1'&&A[under][left]=='1'&&A[under][right]=='1')
{
sum++;
left--;
right++;
up--;
under++;
}
left=j;
right=j+1;
up=i;
under=i+1;
while(A[up][left]=='1'&&A[up][right]=='1'&&A[under][left]=='1'&&A[under][right]=='1')
{
sum++;
left--;
right++;
up--;
under++;
}
}
}
cout<<sum;
return 0;
}
自测的样例与样例都测了还是不对(竟然没超时)