【算法】便利店选址--java
一、问题
新便利店要在某一个小区选址了,需要辐射更多的小区用户,有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相关推荐
- 2013数据结构课程设计之便利店选址(暴力枚举或随机函数或三分)
[问题描述] 某小区决定在小区内部建一家便利店,现小区内部共有八栋楼,它们的地理坐标分别为:(10,20) (30,34) (19,25) (38,49.1) (9,38.1) (2,34) (5,8 ...
- java和c 的rsa加密算法_RSA算法签名技术Java与C++统一(加密解密结果一样)
RSA算法签名技术Java与C++统一 (加密解密结果一样) 源代码下载地址:http://www.doczj.com/doc/64f44a94a0116c175f0e484d.html/produc ...
- 基数排序算法(基于Java实现)
title: 基数排序算法(基于Java实现) tags: 基数算法 基数排序算法原理及代码实现: 一.基数排序算法的原理 基数排序属于"分配式排序",又称"桶子法&qu ...
- 选择排序算法(基于Java实现)
title: 选择排序算法(基于Java实现) tags: 选择算法 选择排序算法原理及代码实现: 一.选择排序算法的原理 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间.但是选择 ...
- 插入排序算法(基于Java实现)
title: 插入排序算法(基于Java实现) tags: 插入算法 插入排序算法原理及代码实现: 一.插入排序算法的原理 首先,我们将数组中的数据分为两个区间,已排序区间和未排序区间.初始已排序区间 ...
- 桶排序算法(基于Java实现)
title: 桶排序算法(基于Java实现) tags: 桶排序算法 桶排序算法的原理和代码实现 一.桶排序算法的原理 桶排序,顾名思义,会用到"桶",核心思想是将要排序的数据分到 ...
- 快速排序算法(基于Java实现)
title: 快速排序算法(基于Java实现) tags: 快速排序算法 快速排序算法的原理与代码实现: 一.快速排序算法的原理 快排算法的思想是: 如果需要排序数组中下标从p到r之间的一组数据,我们 ...
- java回文数算法for_【Java】【每日算法/刷穿 LeetCode】9. 回文数(简单)
首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]9. 回文数(简单) 宫水三叶发布于 今天 15:30 题目描述 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从 ...
- Java Jvm 中的垃圾回收机制中的思想与算法 《对Java的分析总结》-四
Java中的垃圾回收机制中的思想与算法 <对Java的分析总结>-四 垃圾回收机制 中的思想与算法 引用计算法 给对象中添加一个引用计数器,每当一个地方引用它的时候就将计数器加1,当引用失 ...
最新文章
- Android 多语言
- 深入理解PHP原理之变量作用域
- 每天一个linux命令(8):cp 命令
- 华为软件编程规范和范例 可读性
- Python3 列表的基本操作
- android apk 微信登入_Android集成第三方微信登录
- IPV4 VS IPV6 谈谈省级ipv6的必要性
- 雅思听力的词语练习打字!!!
- android备忘录_苹果备忘录怎样把内容置顶?有置顶功能的备忘录便签
- [翻译]现代java开发指南 第一部分
- 谷歌研发开源协议,助听器有望原生支安卓系统
- 游戏手柄(JoyStick)的延时处理
- 汽车零部件行业需求分析及解决方案
- 解决阿里云windows服务器无法连接远程桌面
- 对于Linux内核tty设备的一点理解
- Java高级:java架构师成长直通车pan
- C++ Primer Plus第四章课后编程
- 科达视频系统设置服务器,科达电力系统视频监控解决方案
- 小丸子函数式编程初探
- Hexo博客SEO优化