20分求助!!!
查看原帖
20分求助!!!
770104
louzhengzhe2009楼主2022/9/27 21:23
#include<bits/stdc++.h>
using namespace std;
int n,i,j,k;
long long ans=0;
char a[105][105];
int main(){
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	for(j=1;j<=n;j++)cin>>a[i][j];
	for(i=1;i<=n;i++)
	  for(j=1;j<=n;j++){
	      if(a[i][j]=='0')continue;
	  	  for(k=1;k<=100;k++){
	  	  	if(i<=k||j<=k||i+k>n||j+k>n)break;
	  	  	if(a[i-k][j-k]=='1'&&a[i+k][j-k]=='1'&&a[i+k][j-k]=='1'&&a[i+k][j+k]=='1')ans++;
	  	  	else break;
		  }
		  for(k=0;k<=100;k++){
		  	if(i<=k||j<=k||i+k+1>n||j+k+1>n)break;
			if(a[i-k][j-k]=='1'&&a[i-k][j+k+1]=='1'&&a[i+k+1][j-k]=='1'&&a[i+k+1][j+k+1]=='1')ans++;
			else break;
		  }
	  }
	printf("%lld",ans);
}
2022/9/27 21:23
加载中...