求问为什么厌氧
查看原帖
求问为什么厌氧
679961
zhang_kevin楼主2024/11/12 13:48

RT,开 O2 就只剩 2828 分了,不开 O2 可以 AC。

#include<bits/stdc++.h>
using namespace std;
int n, a[251][251], sum[251][251];
int main(){
	cin >> n;
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= n; j++){
			scanf("%1d", &a[i][j]);
		}
	}
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= n; j++){
			sum[i][j] = sum[i-1][j] + sum[i][j-1] - sum[i-1][j-1] + a[i][j];
		}
	}
	for(int i = 2; i <= n; i++){
		int ans = 0;
		for(int j = i; j <= n; j++){
			for(int k = 2; k <= n; k++){
				if(i * i == sum[j][k] - sum[j-i][k] - sum[j][k-i] + sum[j-i][k-i]){
					ans++;
				}
			}
		}
		if(ans) cout << i << " " << ans << endl;
	}
	return 0;
}
2024/11/12 13:48
加载中...