0分求助
查看原帖
0分求助
758856
SimpleDog楼主2022/9/27 20:13
#include<iostream>
#include<cstdio>
#include<algorithm>

using namespace std;
const int maxn = 110;
int a[maxn][maxn];
int n;
long long ans;
int main() {
	cin >> n;
	char ch = getchar();
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			ch = getchar();
			a[i][j] = ch - '0';
		}
		ch = getchar();
	}

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if (a[i][j] == 1) {

				for (int k = 1; k <= n; k++) {
					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;
				}
				if (a[i + 1][j] == 1 && a[i][j + 1] == 1 && a[i + 1][j + 1] == 1) {
					ans++;
					for (int k = 1; k <= n; k++) {
						if (a[i - k][j - k] == 1 && a[i - k][j + 1 + k] == 1 && a[i + 1 + k][j - k] == 1 && a[i + 1 + k][j + 1 + k] == 1)ans++;
						else break;
					}
				}

			}
		}
	}
	cout << ans;


	return 0;
}
2022/9/27 20:13
加载中...