tle on #4
查看原帖
tle on #4
384214
esquigybcu楼主2021/6/19 15:55
#include <stdio.h>

const int SIZE = 35;
int qwq[SIZE][SIZE], vis[SIZE][SIZE], mark[SIZE][SIZE], n;

inline bool can_search(int i, int j)
{
    if (i < 0 || i > n + 1 || j < 0 || j > n + 1)
        return false;
    return (qwq[i][j] == 0) && !vis[i][j];
}

void dfs(int i, int j)
{
    if (!can_search(i, j))
        return;
    vis[i][j] = true;
    mark[i][j] = true;
    dfs(i + 1, j    );
    dfs(i - 1, j    );
    dfs(i    , j + 1);
    dfs(i    , j - 1);
    vis[i][j] = false;
}

int main()
{
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            scanf("%d", &qwq[i][j]);
    dfs(0, 0);
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
            if (mark[i][j])
                printf("0 ");
            else if (qwq[i][j])
                printf("1 ");
            else
                printf("2 ");
        printf("\n");
    }
    return 0;
}
2021/6/19 15:55
加载中...