Codeforces 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=;
char mp[N][N];
ll dp[N][N]={};
bool vis[N][N]={false};
int n,m,q,p;
int dir[][]={,,,,,-,-,};
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=;i<;i++)
{
next.x=now.x+dir[i][];
next.y=now.y+dir[i][];
next.v=now.v/;
if(<=next.x&&next.x<n&&<=next.y&&next.y<m&&mp[next.x][next.y]!='*'&&vis[next.x][next.y]==false&&next.v!=)//判断一下值是不是0可以优化很多
{
vis[next.x][next.y]=true;
q.push(next);
}
}
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie();
cin>>n>>m>>q>>p;
for(int i=;i<n;i++)cin>>mp[i]; for(int i=;i<n;i++)
for(int j=;j<m;j++)
if(isalpha(mp[i][j]))
s.pb(node{i,j,(mp[i][j]-'A'+)*q}); for(int i=;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=;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
if(dp[i][j]>p)res++;
cout<<res<<endl;
return ;
}
Codeforces 847I - Noise Level的更多相关文章
- CodeForces 731D 80-th Level Archeology
区间并. 对于上下两个数字,如果不一样,那么可以计算出哪一段范围内可以保证字典序,并且后面所有位置都无需再考虑.对所有范围求交集就是答案了. 求交集写起来有点烦,直接对不可取的范围求并即可. #pra ...
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage (Online Mirror, ACM-ICPC Rules, Teams Preferred)
题目链接:http://codeforces.com/problemset/problem/847/I I. Noise Level time limit per test 5 seconds mem ...
- Linux连接Internet
Linux连接Internet 1. Linux网卡 1.1 查看内核所扑捉到的网卡信息(已经安装到服务器并且被Linux内核识别的网卡) [root@www ~]# dmesg | grep -in ...
- RASPBERRY PI wifi配置
Raspberry Pi 手把手教你在树莓派上安装USB无线网卡支持WIFI 树莓派虽然已经有了有线网卡,但是并未配置无线网卡,移动性不够强,好在机器配备了2个USB口,当然要分一个出来给WIFI无线 ...
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
一.前言 CentOS6.5不像CentOS7和Unbuntu那样自动安装好了无线网卡驱动,因此需要我们折腾一下. 二.安装前的准备工作 [a] 检查无线网卡驱动的安装情况(通过查看网络接口的安装 ...
- 频谱分析仪 RBW&VBW
扫频式频谱分析仪的结构如下图 RBW(Resolution Bandwidth)的影响 The RBW dictates the resolution bandwidth, which is rela ...
- I.MX6 WIFI wireless_tools 移植
/******************************************************************************** * I.MX6 WIFI wirel ...
- Linux就这个范儿 第13章 打通任督二脉
Linux就这个范儿 第13章 打通任督二脉 0111010110……你有没有想过,数据从看得见或看不见的线缆上飞来飞去,是怎么实现的呢?数据传输业务的未来又在哪里?在前面两章中我们学习了Linux网 ...
随机推荐
- 我的sublime 插件配置
一个插件就是一个软件 ,这就是sublime的理念 . 1.Packag control 给sublime配置插件当然少不了Package control ,首先安装 Package control ...
- 人生苦短之我用Python篇(socket编程)
socket模块 实现简单的远程连接: 客户端: import socket client = socket.socket()#声明socket类型,同时生成socke连接t对象 client.con ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON HistoToThresh1
zw版[转发·台湾nvp系列Delphi例程]HALCON HistoToThresh1 procedure TForm1.Button1Click(Sender: TObject);var imag ...
- Java设计模式应用——备忘录模式
备忘录模式主要用于存档.游戏中我们打boss前总会存档,如果打boss失败,则读取存档,重新挑战boss. 可以看出来,备忘录模式一般包括如下数据结构 1. 存档文件:用于恢复备份场景的必要数据: 2 ...
- Python 除法运算
Python中的除法较其它语言显得非常高端,有套很复杂的规则.Python中的除法有两个运算符,/和// 首先来说/除法: 在python 2.x中/除法就跟我们熟悉的大多数语言,比如Java啊C啊差 ...
- P4281 [AHOI2008]紧急集合 / 聚会
P4281 [AHOI2008]紧急集合 / 聚会 lca 题意:求3个点的lca,以及3个点与lca的距离之和. 性质:设点q1,q2,q3 两点之间的lca t1=lca(q1,q2) t2=lc ...
- android 接受系统锁屏广播,及高版本发送广播
protected BroadcastReceiver messageReceiver = new BroadcastReceiver() { @Override public void onRece ...
- Linux查看文件大小命令
Linux查看文件大小命令 du命令 (1)du -b filepath 参数-b表示以字节计数 du -b filepath 参数-b表示以字节计数 #示例: $ du -b ~/Downloads ...
- JavaScript中变量提升------Hoisting
原谅链接:http://www.cnblogs.com/damonlan/archive/2012/07/01/2553425.html 因为这个问题很是经典,而且容易出错,所以在介绍一次.哈哈.莫怪 ...
- 20145314郑凯杰《网络对抗技术》实验9 web安全基础实践
20145314郑凯杰<网络对抗技术>实验9 web安全基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET ...