zoukankan      html  css  js  c++  java
  • [agc004c]and grid

    别问我为什么咕了两天

    题意:

    给出一个$H imes W$的网格图A,仅由'.'和'#'构成,边界上没有'#'且至少有一个'#'。构造两个网格图B和C,大小均为$H imes W$,要求A中为'#'的位置B、C中也为'#',A中为'.'的位置B、C中不能都为'#',且B、C中由'#'构成的联通块有且只有一个。

    $3leq H,Wleq 500$

    本题有SPJ

    题解:

    这种题貌似跟数据范围没什么关系。。。

    敢写敢过?

    B中第一列和奇列填'#',C中偶列和最后一列填'#',必定满足条件

    别问我怎么证的,orzwzd

    代码:

     1 #include<algorithm>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<cstdio>
     5 #include<cmath>
     6 #include<queue>
     7 #define inf 2147483647
     8 #define eps 1e-9
     9 using namespace std;
    10 typedef long long ll;
    11 int n,m;
    12 char a[501][501],b[501][501],c[501][501];
    13 int main(){
    14     scanf("%d%d",&n,&m);
    15     for(int i=1;i<=n;i++)scanf("%s",a[i]+1);
    16     for(int i=1;i<=n;i++){
    17         for(int j=1;j<=m;j++){
    18             if(a[i][j]=='#')b[i][j]=c[i][j]='#';
    19             else b[i][j]=c[i][j]='.';
    20         }
    21     }
    22     for(int i=1;i<=m;i++)b[1][i]=c[n][i]='#';
    23     for(int i=1;i<=m;i++){
    24         for(int j=2;j<n;j++){
    25             if(i&1)b[j][i]='#';
    26             else c[j][i]='#';
    27         }
    28     }
    29     for(int i=1;i<=n;i++)printf("%s
    ",b[i]+1);
    30     printf("
    ");
    31     for(int i=1;i<=n;i++)printf("%s
    ",c[i]+1);
    32     return 0;
    33 }
  • 相关阅读:
    CodeForce 677C
    1A -- Theatre Square
    CodeForce 677B Vanya and Food Processor
    CodeForce 680C Bear and Prime 100
    1B -- Spread sheet
    socket.io 推送
    网站性能测试
    openlayers/// Puppeteer.js
    div 光标处插入内容
    emjoi 表情
  • 原文地址:https://www.cnblogs.com/dcdcbigbig/p/9813339.html
Copyright © 2011-2022 走看看