社区讨论
玄学代码求条
P114101迷宫参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m4o4rfvb
- 此快照首次捕获于
- 2024/12/14 20:05 去年
- 此快照最后确认于
- 2025/11/04 12:51 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int in()
{
int t = 0, f = 1;char c = getchar();
while(c < '0' || c > '9'){if(c == '-')f = -1;c = getchar();}
while(c >= '0' && c <= '9')t = t * 10 + c - '0', c = getchar();
return t * f;
}
char c[1005][1005];
int n, m, a[1005][1005];
int flag[1005][1005];
int ans[1005];
int dx[10] = {0, 0, 0, 1, 1};
int dy[10] = {0, 1, 1, 0, 0};
void dfs(int x, int y, int t)
{
flag[x][y] = t;
ans[t]++;
for(int i = 1 ; i <= n ; i++)
{
int xx = x + dx[i];
int yy = y + dy[i];
if(xx < 1 || xx > n || yy < 1 || yy > n || c[xx][yy] == c[x][y])
continue;
dfs(xx, yy, t);
}
}
int main()
{
n = in();
m = in();
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= n ; j++)
cin >> c[i][j];
for(int i = 1 ; i <= m ; i++)
{
int x, y;
x = in();
y = in();
if(flag[x][y] == 0)dfs(x, y, i);
cout << ans[flag[x][y]] << endl;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...