zoukankan      html  css  js  c++  java
  • 【图论】格子图

    其实格子图很可能会和棋盘格染色有关。

    namespace BFS {
    
        const int MAXN = 1e3 + 10;
        const int MAXM = 1e3 + 10;
        const int di[] = {0, 0, -1, 1, -1, -1, 1, 1};
        const int dj[] = {-1, 1, 0, 0, -1, 1, -1, 1};
    
        int n, m;
        char g[MAXN][MAXM];
    
        bool vis[MAXN][MAXM];
        queue<pii> Q;
    
        bool valid(int i, int j) {
            if(1 <= i && i <= n && 1 <= j && j <= m) {
                if(!vis[i][j])
                    return 1;
            }
            return 0;
        }
    
        void bfs(int si, int sj) {
            for(int i = 1; i <= n; ++i)
                fill(vis[i] + 1, vis[i] + 1 + m, 0);
            while(!Q.empty())
                Q.pop();
            vis[si][sj] = 1;
            Q.push({si, sj});
            while(!Q.empty()) {
                int ui = Q.front().first;
                int uj = Q.front().second;
                Q.pop();
                for(int k = 0; k < 4; ++k) {
                    int vi = ui + di[k];
                    int vj = uj + dj[k];
                    if(valid(vi, vj)) {
                        vis[vi][vj] = 1;
                        Q.push({vi, vj});
                    }
                }
            }
        }
    
    }
    
  • 相关阅读:
    AC自动机学习笔记(模板)
    codeforces1328E
    Codeforces 1288E- Messenger Simulator (树状数组)
    线性基小记
    HDU3949
    矩阵快速幂小记
    5E
    5D
    5C
    5B
  • 原文地址:https://www.cnblogs.com/purinliang/p/14387644.html
Copyright © 2011-2022 走看看