雨不眠de下 2018-11-03 08:38 采纳率: 0%
浏览 408

求助大佬!这道题究竟该怎么做?

题目描述
2021年,九月,小w发现自己位于一个巨大的由黑格和白格组成的nn行mm列的迷宫中。

小w只能从白格走到黑格或从黑格走到白格,

小w找到了ljf,她想知道自己从每一个格子出发可以走到多少个格子。

但是ljf忙于在ioi中虐场,把问题留给了你。

输入格式
第一行:两个整数 n,mn,m
接下来nn行mm列描述这个迷宫

若第ii行,第jj个为1,则表示迷宫的第ii行第jj个格子为黑,反之则为白。

输出格式
nn行mm列

第ii行第jj个数表示从第ii行第jj个格子能走到的格子总数

输入样例
1 2
10
输出样例
2 2
数据范围
对于30%的数据 n,m≤50n,m≤50
另外10%的数据 所有格子都为黑格

对于100%的数据 n,m≤2000n,m≤2000

  • 写回答

2条回答 默认 最新

  • Italink 2018-11-03 10:03
    关注

    这是一个深度搜索算法的题目.有用的话请采纳=.=

    #include<iostream>
    using namespace std;
    #define M 2000
    int graph[M][M] = {1,0};
    int result[M][M];
    int visited[M][M];
    int nx, ny,n=1,m=2;
    int dx[4] = { 1,-1,0,0 },
        dy[4] = { 0,0,1,-1 };
    int max=0;
    int search(int x,int y,int k) {         //深度优先搜索算法
        visited[x][y] = 1;
        max = k > max ? k : max;
        for (int i = 0; i < 4; i++) {       //四个方向进行搜索
            nx = x + dx[i];
            ny = y + dy[i];
            if (nx >= 0 && nx < n&&ny >= 0 && ny < m && !visited[nx][ny] && graph[x][y] != graph[nx][ny]) {     //探测判断
                visited[nx][ny] = 1;
                search(nx, ny, k+1);        //进行下一次探测
            }
        }
        return max;
    }
    int main(){
        cin >> n >> m;
        for (int i=0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                cin >> graph[i][j];
            }
        }
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                memset(visited, 0, sizeof(visited));        //数据初始化
                max = 0;
                result[i][j] = search(i, j, 1);
            }
        }
        cout << "结果:" << endl;
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                cout << result[i][j] << " ";
            }
            cout << endl;
        }
        return 0;
    }
    

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键