CCF-最优配餐(BFS)
1 1
8 8
1 5 1
2 3 3
6 7 2
1 2
2 2
6 8
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#define MAX 1010
using namespace std; int n,m,k,d;
int v[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
int vis[MAX][MAX];
long long order[MAX][MAX];
struct Node{ //定义结构体
int x,y;
long long dis;
Node(){}
Node(int xx,int yy,int c){
x=xx,y=yy;
dis=c;
}
};
queue<Node>Q; void init(){
cin>>n>>m>>k>>d;
int a,b,c;
for(int i=0;i<m;i++){
cin>>a>>b;
Q.push(Node(a,b,0));//读入分店位置
}
for(int i=0;i<k;i++){
cin>>a>>b>>c;//读入顾客
order[a][b]+=c;
}
for(int i=0;i<d;i++){
cin>>a>>b;
vis[a][b]=1;//不能经过的点
}
} void solve(){
long long ans=0;
while(!Q.empty()){
Node t=Q.front();
Q.pop();
int x=t.x,y=t.y,dis=t.dis;
for(int i=0;i<4;i++){
int xx=x+v[i][0],yy=y+v[i][1];
if(xx>=1&&xx<=n&&yy>=1&&yy<=n&&!vis[xx][yy]){//判断是否可以访问
ans+=order[xx][yy]*(dis+1);
vis[xx][yy]=1;
Q.push(Node(xx,yy,dis+1));
}
}
}
cout<<ans<<endl;
} int main(){
init();
solve();
return 0;
}
ps:参考网上的资料
CCF-最优配餐(BFS)的更多相关文章
- CCF 最优配餐 (BFS)
问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题. 栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的 ...
- CCF CSP 201409-4 最优配餐
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201409-4 最优配餐 问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越 ...
- CCF 201409-4 最优配餐
问题描述 试题编号: 201409-4 试题名称: 最优配餐 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越多,怎么 ...
- CCF模拟题 最优配餐
最优配餐 时间限制: 1.0s 内存限制: 256.0MB 问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题. 栋栋的连锁店所在 ...
- ACM-最优配餐
题目描述: 最优配餐 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问 ...
- 最优配餐_暴力bfs
问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题. 栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的 ...
- csp20140904最优配餐_Solution
Solution 经典bfs,所有的点到店的最短距离 其中一开始队列的长度为店的数目 一个点可能有多个订单 关于数据大小: 1.1000*(1000*1000)*2000=2,0000,0000,00 ...
- [Ioi2007]Miners 矿工配餐(BZOJ1806)
[Ioi2007]Miners 矿工配餐 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 214 Solved: 128 Description 现有两 ...
- BZOJ 1806: [Ioi2007]Miners 矿工配餐( dp )
dp... ------------------------------------------------------------------------------- #include<cs ...
随机推荐
- 鸿蒙HarmonyOS应用开发落地实践,Harmony Go 技术沙龙落地北京
12月26日,华为消费者BG软件部开源中心与51CTO Harmony OS技术社区携手,共同主办了主题为"Harmony OS 应用开发落地实践"的 Harmony Go 技术沙 ...
- python之shelve、xml、configparser模块
一.shelve模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve ...
- 索引失效 -- 使用Between范围查询时
需求说明 产品需要统计一段时间范围内每月用户的注册人数(根据用户信息表中的创建时间),需要我通过SQL导出数据,但是数据量太大,导出需要20多秒,于是我尝试在创建时间字段中加索引,但是发现加了索引后索 ...
- MyBatis中id回填的两种方式
在一种场景下需要刚刚插入数据的ID,如果数据少可以先看数据库,记下ID,但数据很多,假设一万个用户并发,每个用户都插入自己的ID,就很难记下来. 下面给定一个场景: 1 User user = new ...
- Docker一秒进阶
tar包: 从tar包导入:docker load < xxxx.tar docker run -d -p 8080:80 --name [名字] -v `pwd`:/usr/share/ngi ...
- HSRP技术(热备份)学习总结
热备份学习视频https://www.bilibili.com/video/BV1i7411G7vm?p=78 • 命令: ○ int fa0/x ○ standby 1 ...
- 解压rpm文件
rpm2cpio zabbix-2.2.2-0.el6.zbx.src.rpm |cpio -div
- CTFshow-萌新赛杂项_劝退警告
下载附件 https://www.lanzous.com/i9wocah 下载后得到一个劝退警告.zip 解压得到一张gif图片 使用binwalk分析发现包含zip 于是拿到了一个压缩包 打开后发现 ...
- k8s中教你快速写一条yaml文件
一条yaml中有很多字段,如果去背这些字段,其实也能背过,但是去写一条yaml,也往往浪费很多的时间,也会出错,其实我们可以用一条命令就能快速来写一段自定义的yaml,工作中去修改相应的yaml也得心 ...
- M8 E147 不可能为条目*确立账户
今天用BAPI做发票校验, BAPI_INCOMINGINVOICE_CREATE这个函数使用都正常,可是突然就无法做发票检验了 报了个错误,"不可能为条目BOXT TR 确立账户" ...