zoukankan      html  css  js  c++  java
  • 【CH2501】矩阵距离

    这是一道裸的广搜题吧……

    可能是《算法竞赛进阶指南》最水的一道题了……

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <queue>
     5 using namespace std;
     6 queue<int> qx;
     7 queue<int> qy;
     8 int n,m,dis[1010][1010],a[1010][1010];
     9 int fx[4]={1,-1,0,0};
    10 int fy[4]={0,0,1,-1};
    11 int main() {
    12     cin>>n>>m;
    13     for(int i=1;i<=n;i++)
    14         for(int j=1;j<=m;j++)
    15             scanf("%1d",&a[i][j]);
    16     memset(dis,-1,sizeof(dis));
    17     for(int i=1;i<=n;i++)
    18         for(int j=1;j<=m;j++)
    19             if(a[i][j]) {
    20                 qx.push(i);
    21                 qy.push(j);
    22                 dis[i][j]=0;
    23             }
    24     while(!qx.empty()) {
    25         int nowx=qx.front();
    26         int nowy=qy.front();
    27         qx.pop();
    28         qy.pop();
    29         for(int i=0;i<4;i++) {
    30             int xx=nowx+fx[i];
    31             int yy=nowy+fy[i];
    32             if(xx<1||xx>n||yy<1||yy>m) continue ;
    33             if(dis[xx][yy]==-1) {
    34                 dis[xx][yy]=dis[nowx][nowy]+1;
    35                 qx.push(xx);
    36                 qy.push(yy);
    37             }
    38         }
    39     }
    40     for(int i=1;i<=n;i++) {
    41         for(int j=1;j<=m;j++)
    42             cout<<dis[i][j]<<" ";
    43         cout<<endl;
    44     }
    45     return 0;
    46 }
    AC Code
  • 相关阅读:
    twemproxy配置
    tomcat远程调试
    hadoop配置
    kafka原理分析
    hive-sql
    P1983 车站分级
    拓扑排序
    洛谷P1982 小朋友的数字
    字典树Trie
    城市交通费
  • 原文地址:https://www.cnblogs.com/shl-blog/p/10585390.html
Copyright © 2011-2022 走看看