数组越界不知怎改
查看原帖
数组越界不知怎改
1341011
mmnBilibili楼主2024/8/17 19:46

数组越界,但是不知道怎么改

#include<algorithm>
#include<cmath>
#include<iostream>
#include<string>
#include<cstdio>

//#include"BetterMath.h"

using namespace std;

int map[105][105];

int main() {
	int n;
	cin >> n;
	int m, k;
	cin >> m >> k;
	for (int i = 0; i < m; i++) {
		int firex, firey;
		cin >> firex >> firey;
		firex--;
		firey--;
		map[firex][firey]++;
		map[firex][firey - 1]++;
		map[firex][firey - 2]++;
		map[firex][firey + 1]++;
		map[firex][firey + 2]++;
		map[firex - 1][firey]++;
		map[firex - 2][firey]++;
		map[firex + 1][firey]++;
		map[firex + 2][firey]++;
		map[firex - 1][firey - 1]++;
		map[firex + 1][firey - 1]++;
		map[firex - 1][firey + 1]++;
		map[firex + 1][firey + 1]++;
	}
	for (int i = 0; i < k; i++) {
		int kingx, kingy;
		cin >> kingx >> kingy;
		kingx--;
		kingy--;
		for (int x = kingx - 2; x <= kingx + 2; x++) {
			for (int y = kingy - 2; y <= kingy + 2; y++) {
				map[x][y]++;
			}
		}
	}
	int ans = 0;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			if (map[i][j] == 0)
				ans++;
		}
	}
	cout << ans;
	/*cout << endl << "*********************************" << endl;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			cout << map[i][j]<<" ";
		}
		cout << endl;
	}*/
	return 0;
}

神金注释不用管它

2024/8/17 19:46
加载中...