求助
  • 板块题目总版
  • 楼主New_hope
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/10/8 11:29
  • 上次更新2023/10/27 08:13:06
查看原帖
求助
416242
New_hope楼主2022/10/8 11:29

这个代码连输入都有问题

#include<bits/stdc++.h>
using namespace std;

bool s[105][105];
int ans = 0;

void find(int x,int y,int k){
	
	int l1,l2;
	int ans;
	l1 = l2 = ans = 0;
	for(int a = x; a <= x+k; a ++){
		for(int b = y; b <= b+k; b ++){
			if(abs(a-b) == abs(x-y) && s[a][b] == 1){
				l1 ++;
			}
			if(x+y+k == a+b && s[a][b] == 1){
				l2 ++;
			}
		}
	}
	if(l1 == l2){
		ans ++;
	}
}

int main(){
	
	int n;
	int i,j;
	char f;
	cin >> n;
	for(i = 1; i <= n; i ++){
		for(j = 1; j <= n; j ++){
			cin >> f;
			s[i][j] = f-'0';
		}
	}
	for(int size = 1; size < n; size ++){
		for(int p = 1; p+size <= n; p ++){
			for(int q = 1; q+size <= n; q ++){
				find(p,q,size);
			}
		}
	}
	cout << ans;
	return 0;
}
2022/10/8 11:29
加载中...