社区讨论
和标答思路一模一样,能过样例,但是只过一个点其他tl
P1789【Mc生存】插火把参与者 3已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @lobeqc43
- 此快照首次捕获于
- 2023/10/29 19:48 2 年前
- 此快照最后确认于
- 2023/11/04 01:24 2 年前
CPP
#include <stdio.h>
#include <math.h>
long int sb[300][300];
void huoba(int x, int y)
{
x += 2;
y += 2;
for (int i = x - 2; i <= x + 2; i++)
{
sb[i][y] = 0;
}
for (int j = y - 2; j <= y + 2; j++)
{
sb[x][j] = 0;
}
sb[x + 1][y + 1] = 0;
sb[x - 1][y + 1] = 0;
sb[x + 1][y - 1] = 0;
sb[x - 1][y - 1] = 0;
}
void yingshi(int x, int y)
{
x += 2;
y += 2;
for (int i = x - 2; x <= x + 2; x++)
{
for (int j = y - 2; j <= y + 2; y++)
{
sb[i][j] = 0;
}
}
}
int main()
{
int n, m, k, sum = 0;
int x, y;
scanf("%d", &n);
for (int i = 3; i <= n + 2; i++)
{
for (int j = 3; j <= n + 2; j++)
{
sb[i][j] = 1;
}
}//赋值为1
scanf("%d%d", &m, &k);
for (int i = 1; i <= m; i++)
{
scanf("%d%d", &x, &y);
huoba(x, y);
}
for (int i = 1; i <= k; i++)
{
scanf("%d%d", &x, &y);
yingshi(x, y);
}
for (int i = 3; i <= n + 2; i++)
{
for (int j = 3; j <= n + 2; j++)
{
if(sb[i][j]==0)
sum ++;
}
}
printf("%d", n*n-sum);
return 0;
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...