zoukankan      html  css  js  c++  java
  • Codeforces 847I

    847I - Noise Level

    思路:bfs。

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long 
    #define pb push_back
    #define mem(a,b) memset(a,b,sizeof(a))
    
    const int N=255;
    char mp[N][N];
    ll dp[N][N]={0};
    bool vis[N][N]={false};
    int n,m,q,p;
    int dir[4][2]={0,1,1,0,0,-1,-1,0};
    struct node
    {
        int x,y,v;
    };
    
    vector<node>s;
    
    void bfs(int x,int y,int v)
    {
        node now,next;
        queue<node>q;
        now.x=x;
        now.y=y;
        now.v=v;
        q.push(now);
        while(q.size())
        {
            now=q.front();
            dp[now.x][now.y]+=now.v;
            q.pop(); 
            for(int i=0;i<4;i++)
            {
                next.x=now.x+dir[i][0];
                next.y=now.y+dir[i][1];
                next.v=now.v/2;
                if(0<=next.x&&next.x<n&&0<=next.y&&next.y<m&&mp[next.x][next.y]!='*'&&vis[next.x][next.y]==false&&next.v!=0)//判断一下值是不是0可以优化很多 
                {
                    vis[next.x][next.y]=true;
                    q.push(next);
                }
            }
        }
    }
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        cin>>n>>m>>q>>p;
        for(int i=0;i<n;i++)cin>>mp[i];
        
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                if(isalpha(mp[i][j]))
                    s.pb(node{i,j,(mp[i][j]-'A'+1)*q});
        
        for(int i=0;i<s.size();i++)
        {
            vis[s[i].x][s[i].y]=true;
            bfs(s[i].x,s[i].y,s[i].v);
            mem(vis,false);
        }
        
        int res=0;
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                if(dp[i][j]>p)res++;
        cout<<res<<endl;
        return 0; 
    } 
  • 相关阅读:
    JavaWeb-ajax
    数据库-条件查询和分页
    JSP-EL和JSTL
    ROS的STM32电机驱动
    rosserial_python serial_node.py分析--补遗
    rosserial_python serial_node.py分析
    Python的matplotlib绘图
    kNN算法与python
    利用网售的PID调制工具配置电机PID参数
    mbed的ticker问题
  • 原文地址:https://www.cnblogs.com/widsom/p/7569159.html
Copyright © 2011-2022 走看看