求助20pts
查看原帖
求助20pts
557114
Ykmirror楼主2024/10/3 20:10
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn=109;
ll n,p[maxn][maxn],ans=0;
int main(){
	memset(p,-1,sizeof(p));
	cin>>n;
	for(int i=1;i<=n;i++){
		string y,t;
		cin>>t;
		for(int j=1;j<=n;j++){
			p[i][j]=(int)t[j-1]-48;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			for(int k=1;k<=n;k++){
				if(i+k>=1 and i+k<=n and j+k>=1 and j+k<=n and i-k>=1 and i-k<=n and j-k>=1 and j-k<=n and p[i+k][j+k]==1 and p[i+k][j-k]==1 and p[i][j]==1 and p[i-k][j+k]==1 and p[i-k][j-k]==1){
					ans++;
				}
			}
			for(int k=0;k<=n;k++){
				if(i+k>=1 and i+k<=n and j+k>=1 and j+k<=n and i-k>=1 and i-k<=n and p[i][j]==1 and p[i+1][j]==1 and p[i][j+1]==1 and p[i+1][j+1]==1 and p[i-k][j-k]==1 and p[i-k][j+1+k]==1 and p[i+1+k][j-k]==1 and p[i+1+k][j+1+k]==1){
					ans++;
				}
			}
		} 
	}
	cout<<ans;
	return 0;
} 
2024/10/3 20:10
加载中...