关注
//堆棋子JAVA
import java.util.*;
public class Main{
//public static int m = 10^9; //循环边界
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int[] temp1 = new int[n];
int[] temp2 = new int[n];
//取所有初始棋子的最大边界作为循环边界(这样会超内存),不理解大佬说的为何汇聚点一定在已有棋子的横纵坐标处??
//int maxX = 0;
//int maxY = 0; //循环边界
for(int i=0; i<n; i++){
temp1[i] = sc.nextInt(); //循环边界
//maxX = Math.max(maxX,temp1[i]);
}
for(int i=0; i<n; i++){
temp2[i] = sc.nextInt();
//maxY = Math.max(maxY,temp2[i]);
}
Point[] point = new Point[n+1]; //棋子的初始位置
for(int i=0; i<n; i++){
point[i+1] = new Point(temp1[i],temp2[i]);
}
int[] shortDistance = new int[n+1]; //放置i个棋子的最少操作次数
Arrays.fill(shortDistance,Integer.MAX_VALUE);
//循环边界没取10^9,只能通过30%;取初始棋子的最大边界,通过60%。取初始棋子下标,100%
for(int i : temp1){
for(int j : temp2){
int[] distance = new int[n+1];
//在坐标(i,j)放置k个棋子
for(int k=1; k<=n; k++){ //求出(i,j)到每个初始点的距离,排序
distance[k] = Math.abs(i-point[k].x) + Math.abs(j-point[k].y);
}
Arrays.sort(distance);
int temp = 0;
//求若在(x,y)放置1~n个棋子的最短距离,更新结果集合(判断全局最短是否为在(i,j)处获得)
for(int k=1; k<=n; k++){
temp += distance[k];
shortDistance[k] = Math.min(shortDistance[k],temp);
}
}
}
for(int i=1; i<=n-1; i++){
System.out.print(shortDistance[i] + " ");
}
System.out.println(shortDistance[n]);
}
}
private static class Point{
int x;
int y;
Point(int x, int y){
this.x = x;
this.y = y;
}
}
}
查看原帖
点赞 评论
相关推荐
05-29 13:37
北京科技大学 算法工程师 认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的
开发你这个也没有项目啊
点赞 评论 收藏
分享
06-27 15:30
南京大学 自动化 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
18484次浏览 446人参与
# 运营人求职交流聚集地 #
141189次浏览 989人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
22594次浏览 186人参与
# 实习,不懂就问 #
30242次浏览 514人参与
# 秋招什么时候开投比较合适? #
7972次浏览 162人参与
# 如何准备秋招 #
12385次浏览 216人参与
# 软开人,秋招你打算投哪些公司呢 #
101106次浏览 949人参与
# 每个月的工资都是怎么分配的? #
15350次浏览 323人参与
# 你觉得现在还能进互联网吗? #
4858次浏览 100人参与
# 预测一下26届秋招形势 #
26281次浏览 247人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
28228次浏览 456人参与
# 你们公司几号发工资 #
19137次浏览 129人参与
# 晒一晒你收到的礼盒 #
70311次浏览 403人参与
# 打工人的精神状态 #
54315次浏览 992人参与
# 硬件应届生薪资是否普遍偏低? #
72709次浏览 511人参与
# 高考出分的那一天,我__ #
17222次浏览 269人参与
# 大疆今年的机械笔试难吗? #
41543次浏览 456人参与
# 机械实习一天多少钱合适? #
29049次浏览 177人参与
# 现在还是0offer,延毕还是备考 #
1049767次浏览 7572人参与
# 元戎启行求职进展汇总 #
32062次浏览 237人参与
# 大家实习每天都在干啥 #
82937次浏览 506人参与