这里有一个小问题
查看原帖
这里有一个小问题
732866
itikiorihi楼主2022/6/17 22:18

这里是一个才开始在这个网站浪的小萌新


我想知道是哪里错了,除了第2,3过了之外,其他都没过。。。 代码可能很烂,还请见谅QAQ

#include<iostream>
using namespace std;
void huoba(int x, int y);
void yinshi(int x, int y);
int p[100][100] = { 0 };
int n;
int main()
{
	n = 0;
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			p[i][j] = 1;
		}
	}
	int m = 0, k = 0;
	cin >> m >> k;
	for (int i = 0; i < m; i++)
	{
		int x, y;
		cin >> x >> y;
		huoba(x, y);
	}
	for (int i = 0; i < k; i++)
	{
		int x, y;
		cin >> x >> y;
		yinshi(x, y);
	}
	int sum = 0;
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			sum += p[i][j];
		}
	}
	cout << sum << endl;
	return 0;
}
void huoba(int x, int y)
{
	x -= 1, y -= 1;
	if (x - 2 >= 0)
		p[x - 2][y] = 0;
	if (x + 2 <= n)
		p[x + 2][y] = 0;
	for (int i = -1; i < 2; i++)
	{
		if (x - 1 >= 0 && y + i >= 0 && y + i <= n)
			p[x - 1][y + i] = 0;
		if (x + 1 <= n && y + i >= 0 && y + i <= n)
			p[x + 1][y + i] = 0;
	}
	for (int i = -2; i < 3; i++)
	{
		if (y + i >= 0 && y + i <= n)
			p[x][y + i] = 0;
	}
}
void yinshi(int x, int y)
{
	x -= 1, y -= 1;
	for (int i = -2; i < 2; i++)
	{
		if (x + i >= 0 && x + i <= n)
			for (int j = -2; j < 2; j++)
			{
				if (y + j >= 0 && y + j <= n)
					p[x + i][y + j] = 0;
			}
	}
}
2022/6/17 22:18
加载中...