ccf 201409-4 最优配餐(bfs)

这篇博客探讨了CCF 201409-4最优配餐问题的解决方案,通过广度优先搜索(BFS)来寻找所有源点到所有目标点的最短距离。作者意识到,不同于常见的单源点BFS应用,这个问题扩展了BFS的使用场景,增加了对算法理解的深度。
摘要由CSDN通过智能技术生成

cccf 201409-4 最优配餐(bfs)

没想到bfs还能这样,我对bfs的理解没有我想想的那么深刻啊

实际上很简单但自己第一次见到这种求所有源点和所有目标点之间的最短距离的bfs,以前碰到的,都是单源点求bfs,恩,没想到做这样的题还长见识了。。

#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值