一、问题

新便利店要在某一个小区选址了,需要辐射更多的小区用户,有n个小区(x、y坐标),每个小区的住户数为该小区的权重值。请帮便利店选一个带权距离之和(整形)最小的地址。(全程int数据,没有用到浮点型数据)

二、要求

输入格式:
第一行为单个整数n,表示小区的个数。
以下n行为3个整数,分别为x,y,num住户数。

输出格式:
第一个数为便利店选址的小区编号,中间空一格,第二个数为便利店与各小区住户数的带权路径和。

输入样例:
在这里给出一组输入。例如:
3
2 2 30
1 2 10
3 2 5

输出样例:
在这里给出相应的输出。例如:
1 15

三、代码

import java.util.ArrayList;
import java.util.Scanner;public class Main{static class Node{int x;int y;int weight;public Node(int x,int y,int weight){this.x=x;this.y=y;this.weight=weight;}}public static void main(String[] args) {int min=-1;int dist=999999999;Scanner scanner=new Scanner(System.in);ArrayList<Node> list=new ArrayList();String n1=scanner.nextLine();int n=Integer.parseInt(n1);for (int i = 0; i<n ; i++) {String s= scanner.nextLine();String ss[]=s.split(" ");Node node=new Node(Integer.parseInt(ss[0]),Integer.parseInt(ss[1]),Integer.parseInt(ss[2]));list.add(node);}for (int i = 0; i < n; i++) {int temp=0;int x1= list.get(i).x;int y1=list.get(i).y;for (int j = 0; j <list.size(); j++) {int x2= list.get(j).x;int y2=list.get(j).y;double temp1= Math.sqrt(Math.pow((x1-x2),2)+Math.pow((y1-y2),2))*list.get(j).weight;temp=temp+ (int) temp1;}if(temp<=dist){dist=temp;min=i+1;}}System.out.print(min+" "+dist);}
}

【算法】便利店选址--java相关推荐

  1. 2013数据结构课程设计之便利店选址(暴力枚举或随机函数或三分)

    [问题描述] 某小区决定在小区内部建一家便利店,现小区内部共有八栋楼,它们的地理坐标分别为:(10,20) (30,34) (19,25) (38,49.1) (9,38.1) (2,34) (5,8 ...

  2. java和c 的rsa加密算法_RSA算法签名技术Java与C++统一(加密解密结果一样)

    RSA算法签名技术Java与C++统一 (加密解密结果一样) 源代码下载地址:http://www.doczj.com/doc/64f44a94a0116c175f0e484d.html/produc ...

  3. 基数排序算法(基于Java实现)

    title: 基数排序算法(基于Java实现) tags: 基数算法 基数排序算法原理及代码实现: 一.基数排序算法的原理 基数排序属于"分配式排序",又称"桶子法&qu ...

  4. 选择排序算法(基于Java实现)

    title: 选择排序算法(基于Java实现) tags: 选择算法 选择排序算法原理及代码实现: 一.选择排序算法的原理 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间.但是选择 ...

  5. 插入排序算法(基于Java实现)

    title: 插入排序算法(基于Java实现) tags: 插入算法 插入排序算法原理及代码实现: 一.插入排序算法的原理 首先,我们将数组中的数据分为两个区间,已排序区间和未排序区间.初始已排序区间 ...

  6. 桶排序算法(基于Java实现)

    title: 桶排序算法(基于Java实现) tags: 桶排序算法 桶排序算法的原理和代码实现 一.桶排序算法的原理 桶排序,顾名思义,会用到"桶",核心思想是将要排序的数据分到 ...

  7. 快速排序算法(基于Java实现)

    title: 快速排序算法(基于Java实现) tags: 快速排序算法 快速排序算法的原理与代码实现: 一.快速排序算法的原理 快排算法的思想是: 如果需要排序数组中下标从p到r之间的一组数据,我们 ...

  8. java回文数算法for_【Java】【每日算法/刷穿 LeetCode】9. 回文数(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]9. 回文数(简单) 宫水三叶发布于 今天 15:30 题目描述 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从 ...

  9. Java Jvm 中的垃圾回收机制中的思想与算法 《对Java的分析总结》-四

    Java中的垃圾回收机制中的思想与算法 <对Java的分析总结>-四 垃圾回收机制 中的思想与算法 引用计算法 给对象中添加一个引用计数器,每当一个地方引用它的时候就将计数器加1,当引用失 ...

最新文章

  1. Android 多语言
  2. 深入理解PHP原理之变量作用域
  3. 每天一个linux命令(8):cp 命令
  4. 华为软件编程规范和范例 可读性
  5. Python3 列表的基本操作
  6. android apk 微信登入_Android集成第三方微信登录
  7. IPV4 VS IPV6 谈谈省级ipv6的必要性
  8. 雅思听力的词语练习打字!!!
  9. android备忘录_苹果备忘录怎样把内容置顶?有置顶功能的备忘录便签
  10. [翻译]现代java开发指南 第一部分
  11. 谷歌研发开源协议,助听器有望原生支安卓系统
  12. 游戏手柄(JoyStick)的延时处理
  13. 汽车零部件行业需求分析及解决方案
  14. 解决阿里云windows服务器无法连接远程桌面
  15. 对于Linux内核tty设备的一点理解
  16. Java高级:java架构师成长直通车pan
  17. C++ Primer Plus第四章课后编程
  18. 科达视频系统设置服务器,科达电力系统视频监控解决方案
  19. 小丸子函数式编程初探
  20. Hexo博客SEO优化

热门文章

  1. 我参加 NVIDIA Sky Hackathon--- 浅谈数据集处理的心得和教训
  2. Windows如何同时登录两个OneDrive个人版账号
  3. 多接入边缘计算在医疗行业中的应用
  4. 基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法
  5. MySQL索引:聚簇索引和非聚簇索引的区别
  6. helm 部署 heapster 组件
  7. 香港十佳黄金交易平台2019最新排名
  8. 【博弈论】关于三姬分金(五海盗分赃)的博弈论问题分析
  9. 从入侵到变现——“黑洞”下的黑帽SEO分析 1
  10. 纯CSS实现滚动字幕