社区讨论

50分求调

B4293 [蓝桥杯青少年组省赛 2022] 奖品参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mdeeylai
此快照首次捕获于
2025/07/22 18:50
8 个月前
此快照最后确认于
2025/11/04 03:55
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int n, m, a[N][N];
bool check1(int x, int y, int k){
    for(int i = 1; i <= k; i++){
    	for(int j = 1; j <= k; j++){
    		if((i == j && a[x + i - 1][y + j - 1] != 1) || (i != j && a[x + i - 1][y + j - 1] != 0)){
    			return false;
			}
		}
	}
	return true;
}
bool check2(int x, int y, int k){
	for(int i = 1; i <= k; i++){
		for(int j = 1; j <= k; j++){
			if((i + j == k - 1 && a[x + i - 1][y + j - 1] != 1) || (i + j != k - 1 && a[x + i - 1][y + j - 1] != 0)){
				return false;
			}
		}
	}
    return true;
}
int main(){
    cin >> n >> m;
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= m; j++){
			cin >> a[i][j];
		}
	}
	for(int k = min(n, m); k >= 1; k--){
		for(int i = 1; i + k - 1 <= n; i++){
			for(int j = 1; j + k - 1 <= m; j++){
				if(check1(i, j, k) || check2(i, j, k)){
					cout << k;
					return 0;
				}
			}
		}
	}
	cout << 0;
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...