求调t1
查看原帖
求调t1
490694
Compound_Interest楼主2022/9/24 12:48
#include<cstdio>
#include<iostream> 
#define int long long 
using namespace std;
const int maxn=110;
int a[maxn][maxn],n,ans;
signed main(){
	scanf("%lld",&n);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++){
			char ch;
			cin>>ch;
			a[i][j]=ch-'0';
		}
	for(int d=2;d<=n;d++){
		for(int i=1;i<=n-d+1;i++)
			for(int j=1;j<=n-d+1;j++)
				if(a[i][j]&&a[i][j+d-1]){
					int x=i,y=j,cnt=0;
					while(a[x][y]&&cnt<d){
						cnt++;
						x++,y++;
					}
					if(cnt!=d) break;
					x=i,y=j+d-1,cnt=0;
					while(a[x][y]&&cnt<d){
						cnt++;
						x++,y--;
					}
					if(cnt==d) ans++;
				}
	}
	printf("%lld",ans);
	return 0;
}

挂分20pts

2022/9/24 12:48
加载中...