无输出求助
查看原帖
无输出求助
638148
liujiaxi123456楼主2022/9/24 21:04
#include<iostream>
#include<cstdio>
using namespace std;

int a[105][105], sum, n;

void dfs(int i, int j, int s) {
	if(i>=n || j>=n)	return ;
	if(a[i+1][j+1] == 1) {

	}
}

int main() {
	cin>> n;
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=n; j++) {
			cin>> a[i][j];
		}
	}
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=n; j++) {
			if(a[i][j] == 1) {
				for(int k=1; i+k<=n && j+k<=n; k++) {
					if(a[i+k][j+k] == 0)	break;
					else if(k>n/2)	break;
					else {
						int vis = 0;
						for(int p=i+k+1, q=j+k, h=1; p<=n && q<=n && h<=k; q--, p--, h++) {
							if(a[p][q] == 0){
								vis = 1;
								break;
							}
						}
						if(vis == 1)	sum++;
					}
				}
			}
		}
	}
	cout<< sum;
	return 0;
}
2022/9/24 21:04
加载中...