当前位置: 首页 > news >正文

白云网站 建设信科网络免费制作网站的软件

白云网站 建设信科网络,免费制作网站的软件,人才网站的seo怎么做,网站开发w亿玛酷1负责写在前面 自己玩了很多项目,但是最近准备秋招的过程中,发现自己对于算法和编程语言的基本功夫实在是太欠缺了。 投递了华为的实习岗位,4.26参加机考,一做题就发现了自己很多地方都不会。这里写下笔试后的复盘以警醒自己。 题目 …

写在前面

自己玩了很多项目,但是最近准备秋招的过程中,发现自己对于算法和编程语言的基本功夫实在是太欠缺了。
投递了华为的实习岗位,4.26参加机考,一做题就发现了自己很多地方都不会。这里写下笔试后的复盘以警醒自己。

题目

按照记忆来回顾题目,仅供参考。解法为自己复盘所写,没有经过数据集测试,不保真。
如果有发现问题,欢迎提出,非常感谢!
机考第一题,分值(100分)

题目描述

在n*n的矩阵范围内,有K个配送站和N个客户点,配送点和客户的坐标给出。如何计算最短路径让K个配送点能够全部覆盖N个客户点。配送站和客户点的距离表示如:distance = |x1-x2| + |y1 - y2|

解题思路

复盘的时候,理解到这道题是一个匹配问题。
解题思路如下:

  • 先建立配送站和客户点的位置地图。地图大小是n*n矩阵,并将配送站和客户点的位置存储。
  • 求出所有配送站与客户的距离distance_all[K][N],并在计算的过程中记录最大距离max_distance。下图中D[K][N]表示第K的配送点和第N的客户的距离
    在这里插入图片描述
  • 然后开始从0到max_distance开始循环,每次循环的值为distance,再对距离数组先从上到下遍历,再从左到右遍历。
  • 如果在该列中存在D小于distance,那么代表有一个配送站能到达此客户点,那么跳出此列,进入下一列,直至遍历所有列。如果有一列不存在D小于distance,说明有一个客户点没有配送站能到达,那么跳出行遍历,distance++
  • 由于一定存在一个distance能够满足要求,因此无需考虑不存在distance的情况。如果行列遍历均结束,则跳出distance循环,并输出当前distance
    在这里插入图片描述

代码

因为是笔试后复盘,未经过数据集检验。解法也不一定是最优解。如果有问题或者别的思路,欢迎提出。

#include <stdio.h>      
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main()
{int R,C;scanf("%d %d", &R, &C);                             //扫描矩阵范围行*列:R*C//printf("%d", R);int people_num;scanf("%d", &people_num);                           //扫描客户数量//printf("%d", people_num);int R_location[people_num],C_location[people_num];  //初始化地图矩阵for(int i=0; i<people_num; i++){scanf("%d %d", &R_location[i],&C_location[i]);  //获得客户的地址//printf("\n%d %d\n", R_location[i],C_location[i]);}int send;scanf("%d", &send);                                 //配送站的数量int R_send[send],C_send[send];int distance_all[send][people_num];                 //配送站到客户的距离for(int i=0; i<send; i++){scanf("%d %d", &R_send[i],&C_send[i]);          //配送站的地址//printf("\n%d %d\n", R_send[i],C_send[i]);}//计算每个配送站到客户的距离并存储到distance_all中,并存储最大距离int max_distance=0;for(int i=0; i<send; i++){for(int j=0; j<people_num; j++){                distance_all[i][j] = abs(R_send[i]-R_location[j]) + abs(C_send[i] - C_location[j]);if(distance_all[i][j] > max_distance)max_distance = distance_all[i][j];printf("%d ",distance_all[i][j]);}}printf("\n");//从最短配送距离0到最长配送距离max_distance,因为最大的可能就是max_distanceint distance = 0,i=0,j=0;for(distance = 0; distance<=max_distance; distance++){for(i=0; i<people_num; i++){for(j=0; j<send; j++){                if(distance_all[j][i] <= distance)break;//printf("%d ",distance_all[i][j]);}if(j >= send)   //如果配送站到某一个用户距离比当前距离大,说明该用户无法被配送到,距离更新break;}if(i >= people_num) //如果有一个距离满足了所有用户都至少有一个配送站能到,说明该距离已经符号break;}printf("%d",distance);return 0;
}
http://www.dt0577.cn/news/38892.html

相关文章:

  • 福田住房和建设局网站百度推广优化中心
  • 东莞长安网站制作网站seo优化技能
  • 柳州网络网站建设北京seo排名收费
  • cms做网站容易不推广软文代发
  • 用java做网站还是html东方网络律师团队
  • 做美食没有广告的网站有效获客的六大渠道
  • 一个域名可以做多少个二级网站百度网站优化软件
  • 做阳具到哪个网站有卖百度搜索引擎算法
  • 网站接入商查询设计网站排行榜前十名
  • 长沙建站智找有为太极百度长尾关键词挖掘
  • 网站做seo真的能带来客户吗东营网站推广公司
  • 山东网站建设设计深圳网络推广哪家好
  • 手机网站焦点图凡科建站下载
  • 网站和做游戏北京有限公司
  • 二级网站建设检查评比方案yoast seo
  • 做网络推广的网站有哪些好推建站
  • 上海人才引进网站关键词seo培训
  • 全国楼市走势最新消息seo招聘要求
  • 网站链接用处免费找客源软件
  • 陕西安康网站建设陕西网站seo
  • ps做素材下载网站有哪些百度客服24小时人工服务在线咨询
  • 济南兼职做网站南京seo代理
  • 做网站公司排名多少钱营口建网站的公司
  • 深圳 学习网站正安县网站seo优化排名
  • 用html做音乐网站网站如何进行seo
  • 网站建站网站80s隐秘而伟大友情链接怎么交换
  • 网站404 模板营销方案的几个要素
  • 网站的目标seo快速优化报价
  • 网站推广策划包含的内容做网站推广的公司
  • 网站建设向上滚动代码深圳网站优化哪家好