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 ...
随机推荐
- 再看C语言-算法
通常一个程序包括算法.数据结构.程序设计方法及语言工具和环境这四个方面.其中算法是核心,算法就是解决"做什么"和"如何做"的问题.算法是程序的灵魂,项目中如果接 ...
- java操作HDFS相关demo(TDH,kerberos认证)
public class Test { private static Configuration conf; private static FileSystem fs; //开 ...
- 辅助调用函数【call,apply,bind】
函数也是对象,每个函数都有自己的方法. e.g. var jane = { name:'Jane', sayHelloTo:function(name) { 'use strict'; console ...
- 在MongoDB中执行查询与创建索引
实验目的: (1)掌握MongoDB中数据查询的方法: (2)掌握MongoDB中索引及其创建: 实验内容: 一. MongoDB中数据查询的方法: (1)find函数的使用: (2)条件操作符: a ...
- Linux学习笔记 | 将默认镜像源修改为国内镜像源
前言: 在使用Linux操作系统的时候,难免会下载各种安装包,而Linux使用的下载源服务器属于国外,下载速度相对国内会慢很多,像日常使用的阿里云和腾讯云等国内服务器厂商,镜像源都默认为自己相关的镜像 ...
- redis之集群二:哨兵
回顾 上一篇介绍了Redis的主从集群模式,这个集群模式配置很简单,只需要在Slave的节点上进行配置,Master主节点的配置不需要做任何更改.但是,我们发现这种集群模式当主节点宕机,主从无法自动切 ...
- 【Oracle】 并行查询
所谓并行执行,是指能够将一个大型串行任务(任何DML,一般的DDL)物理的划分为叫多个小的部分,这些较小的部分可以同时得到处理.何时使用并行执行:1.必须有一个非常大的任务 2.必须有充足的资源(CP ...
- 备份和还原Windows DHCP服务器
在本教程中,您将学习如何使用DHCP控制台和PowerShell备份和还原Windows DHCP服务器. 您是否曾经经历过DHCP服务器崩溃或故障?在设备开始重新启动之前,一切都会平静. 用户将抱怨 ...
- Monkey patching
"A monkey patch is a way to extend or modify the run-time code of dynamic languages without alt ...
- Python_1生成器(下)之单线并行--生产着消费者模型
1 import time 2 def consumer(name): 3 print('%s准备吃包子了!' %name) 4 while True: 5 baozi = yield 6 print ...