【CCF】无线网络 搜索
【思路】
多个起点同时四周扩展广搜,注意会爆int
【AC】
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<queue>
#include<map>
#include<stack>
using namespace std;
typedef long long ll;
const int maxn=1e3+;
int n,m,k,d;
int mp[maxn][maxn];
bool vis[maxn][maxn];
int dis[maxn][maxn];
struct node{
int x;
int y;
int step;
node(int _x,int _y,int _s):x(_x),y(_y),step(_s){}
};
int cnt;
int dir[][]={{,},{-,},{,},{,-}};
queue<node> Q;
void init(){
while(!Q.empty()) Q.pop();
memset(mp,,sizeof(mp));
memset(vis,false,sizeof(vis));
memset(dis,,sizeof(dis));
cnt=;
}
bool check(int x,int y){
if(x>=&&x<=n&&y>=&&y<=n) return true;
return false;
}
void bfs(){
while(!Q.empty()){
node q=Q.front();
Q.pop();
if(vis[q.x][q.y]) continue;
vis[q.x][q.y]=true;
if(mp[q.x][q.y]>){
dis[q.x][q.y]=q.step;
cnt++;
if(cnt==k) return;
}
for(int i=;i<;i++){
int x=q.x+dir[i][];
int y=q.y+dir[i][];
if(check(x,y)&&mp[x][y]!=-){
Q.push(node(x,y,q.step+));
}
}
}
}
ll work(){
bfs();
ll ans=;
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(mp[i][j]>){
ans+=(ll)mp[i][j]*(ll)dis[i][j];
}
}
}
return ans;
}
int main(){
while(~scanf("%d%d%d%d",&n,&m,&k,&d)){
init();
int x,y,c;
for(int i=;i<=m;i++){
scanf("%d%d",&x,&y);
Q.push(node(x,y,));
}
for(int i=;i<=k;i++){
scanf("%d%d%d",&x,&y,&c);
mp[x][y]+=c;
}
for(int i=;i<=d;i++){
scanf("%d%d",&x,&y);
mp[x][y]=-;
}
ll ans=work();
printf("%lld\n",ans);
}
return ;
}
【CCF】无线网络 搜索的更多相关文章
- 【CCF】无线网络 搜索+思维
#include<iostream> #include<cstdio> #include<cstring> #include<string> #incl ...
- 破解无线网络密码-BT3如何使用2
本教程只作学习和交流使用,任何其它商用与本人无关, 在开始教程之前, 首先需要用到几个软件,感兴趣的朋友看完贴子后可以去百度搜一下下载地址, 虚拟机: VMware Workstation 6.5 正 ...
- CCF CSP 201403-4 无线网络
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-4 无线网络 问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路 ...
- windows XP系统搜索无线网络时提示“windows无法配置此无线连接”,如何处理?
转自:http://support1.lenovo.com.cn/lenovo/wsi/htmls/detail_12839009034375918.html 文章编号:C191612 201 ...
- CCF模拟 无线网络
无线网络 时间限制: 1.0s 内存限制: 256.0MB 问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上.任何两个无线路由器只要距离不超过 r 就能互相 ...
- 双系统下(Ubuntu + win7)windows 无法连接无线网络
双系统下(Ubuntu + win7)windows 无法连接无线网络 今天开机登录win7,突然发现无法使用无线网络(WiFi信号标志有个大红叉),于是查看设备驱动,一切正常,这就奇怪了:用Wind ...
- 跑PIN码破解无线网络WIFI密码的原理分析(转)
你们家用的无线路由器安全吗?有人蹭网吗?无线路由器的漏洞在哪里?这么避免蹭网? 想要了解这些,必须要了解加密以及破解原理. 工具/原料 电脑 足够多足够好的wifi信号源 usb无线网卡(非必需) 一 ...
- windows xp 无法连接wpa无线网络
其实以前一直是可以的,不知为什么前几天忽然就不能加入原有的无线网了.我的无线网是WPA加密的,采用DHCP分配IP(但针对特定MAC地址分配静态IP). 在网上找了许久,有的网友认为应该把无线网卡(那 ...
- Windows 7 无线网络故障
朋友打电话来问为何他的PC不能连接到家里的无线网络,而手机等其他设备都可以?相互交谈之中,我问如下几个问题: 是否可以搜索到其他无线网络? 答:是.(想确实无线网卡工作是否正常) 新的手机是否可以连接 ...
随机推荐
- stixel-world跑在kitti数据集
kitti数据集中每一帧的Calibration不同,每一帧都存储了4个相机的Calibration http://ww.cvlibs.net/publications/Geiger2013IJRR. ...
- VS code 豆沙绿护眼主题
一.下载亮色主题Atom One Light 二.找到settings.JSON,粘贴JSON 快捷键输入 Ctrl+Shift+p ,输入settings,选择open settings (J ...
- DB2中创建表
CONNECT TO TEST; CREATE TABLE DB2ADMIN.PERSON ( ID BIGINT NOT NULL , NAME BIGINT , FLAG BIGINT , ADD ...
- 读取Exchange的用户未读邮件数的几种方法
[http://www.cnblogs.com/nbpowerboy/p/3539422.html] 可以使用ExchangeServiceBinding获取邮件,他相当于outlook, 来获取服务 ...
- webgis技术在智慧城市综合治理网格化社会管理平台(综治平台)的应用
网格化社会管理平台功能:1 实有人口管理人口数据管理按照人口分类进行管理,分为常住人口.流动人口.特殊人群.弱势群体,功能包括人口信息管理.归口负责.人房关联.统计汇总.地图监管服务等功能.人口信 ...
- biological clock--class
'''this application aimed to cauculate people's biological block about emotional(28), energy(23),int ...
- 补之前 如何改变jupyter打开文件的路径
目录 如何改变jupyter打开文件的路径 第一种方法: 第二种方法 第三种方法 如何改变jupyter打开文件的路径 当我们直接打开jupyter时,直接加载的是我们的C盘文件 现在我们想打开其他盘 ...
- Python入门基本语法
Python入门 以下主要讲述Python的一些基础语法,包含行的缩进在python中的重要意义,python中常见的保留字和引号的使用,如何实现单行注释和多行注释. print("he ...
- Linux集群之高可用负载均衡lvs+keepalived
LVS简介 LVS介绍 LVS是Linux Virtual Server的缩写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,属于4层负载均衡 ipvs和ipvsadm的关系 我们使用配置LV ...
- Apache ant 配置
ANT_HOME C:\Program Files(D)\apache-ant-1.10.1Path %ANT_HOME%/binant -v