zoukankan      html  css  js  c++  java
  • 【Codeforces 598D】Igor In the Museum

    【链接】 我是链接,点我呀:)
    【题意】

    题意

    【题解】

    同一个联通块里面答案都一样。 把每个联通块的答案都算出来 然后赋值就好

    【代码】

    #include <bits/stdc++.h>
    using namespace std;
    const int N = 1000;
    
    int n,m,k;
    int dx[4] = {0,0,1,-1};
    int dy[4] = {1,-1,0,0};
    char s[N+10][N+10];
    bool bo[N+10][N+10];
    int ans[N+10][N+10];
    pair<int,int> dl[N*N+10];
    int head,tail;
    
    int main(){
        ios::sync_with_stdio(0),cin.tie(0);
        cin >> n >> m >> k;
        for (int i = 1;i <= n;i++) cin >> (s[i]+1);
        for (int i = 1;i <= n;i++)
            for (int j = 1;j <= m;j++)
                if (!bo[i][j] && s[i][j]=='.'){
                    head = 1,tail = 1;
                    dl[head] = {i,j};
                    int cnt = 0;
                    bo[i][j] = true;
                    while (head<=tail){
                        int x = dl[head].first,y = dl[head].second;
                        head++;
                        for (int l = 0;l < 4;l++){
                            int tx = x + dx[l],ty = y + dy[l];
                            if (tx>=1 && tx <= n && ty>=1 && ty<=m){
                                if (!bo[tx][ty] && s[tx][ty]=='.'){
                                    bo[tx][ty] = true;
                                    tail++;
                                    dl[tail].first = tx;
                                    dl[tail].second = ty;
                                }else if (s[tx][ty]=='*'){
                                    cnt++;
                                }
                            }
                        }
                    }
                    for (int i = 1;i <= tail;i++){
                        ans[dl[i].first][dl[i].second] = cnt;
                    }
                }
        for (int i = 1;i <= k;i++){
            int x,y;
            cin >> x >> y;
            cout<<ans[x][y]<<endl;
        }
    	return 0;
    }
    
    
  • 相关阅读:
    hdu 1269 迷宫城堡(强联通分量,基础)
    hdu 2102 A计划(BFS,基础)
    python 变量命名规范
    rpm常用选项
    memcached
    session共享
    Nginx高级使用
    nginx 反向代理
    Nginx基本使用
    github 建立博客
  • 原文地址:https://www.cnblogs.com/AWCXV/p/10592535.html
Copyright © 2011-2022 走看看