全wa了,测试样例能过,wa的第一个数据点我的答案和给的测试答案一样都是23
  • 板块P1683 入门
  • 楼主XIII_XI
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/16 18:00
  • 上次更新2024/3/16 20:12:12
查看原帖
全wa了,测试样例能过,wa的第一个数据点我的答案和给的测试答案一样都是23
973819
XIII_XI楼主2024/3/16 18:00
#include<bits/stdc++.h>
using namespace std;

int w, h, ans;
char g[25][25];
bool st[25][25];
int dx[4] = { -1,0,1,0 }, dy[4] = { 0,1,0,-1 };

void dfs(int x, int y)
{
    for (int i = 0; i < 4; i++)
    {
        int a = x + dx[i];
        int b = y + dy[i];
        if (a<1 || a>h || b<1 || b>w)
            continue;
        if (g[a][b] == '#')
            continue;
        if (st[a][b])
            continue;

        st[a][b] = true;
        ans++;
        dfs(a, b);
    }
}

int main() {
    scanf("%d%d", &w, &h);
    for (int i = 1; i <= h; i++)
    {
        getchar();
        for (int j = 1; j <= w; j++)
        {
            scanf("%c", &g[i][j]);
        }
    }
    for (int i = 1; i <= h; i++)
    {
        for (int j = 1; j <= w; j++)
        {
            if (g[i][j] == '@')
            {
                st[i][j] = true;
                dfs(i, j);
                break;
            }
        }
    }
    ans++;
    printf("%d", ans);
    return 0;
}
2024/3/16 18:00
加载中...