package Item; import java.text.DecimalFormat; import java.util.Scanner; public class Main {     public static float dis(float x1, float y1,float x2,float y2) { float dis = (float) Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); return dis; }     public static float diatanceMap(float[][] dots,float time) {     float maxDiatance =  0;     int n = dots.length;     float[][] dis = new float[n][n]; for(int i = 0; i < n; i++){ for(int j = 0; j < i; j++){ dis[i][j] = dis(dots[i][0] + dots[i][2] * time,         dots[i][1] + dots[i][3] * time,         dots[j][0] + dots[j][2] * time,         dots[j][1] + dots[j][3] * time); maxDiatance = Math.max(dis[i][j], maxDiatance); } } return maxDiatance; } public static void main(String[] args) {         Scanner in = new Scanner(System.in);         while(in.hasNext()){         int n = in.nextInt();         float[][] dots = new float[n][4];         for(int i = 0; i < n; i++){         //x         dots[i][0] = in.nextInt();         //y         dots[i][1] = in.nextInt();         //vx         dots[i][2] = in.nextInt();         //vy         dots[i][3] = in.nextInt();         }         float min = 1000000000;         float time = 0;         float resultTime = 0;         while(time < 100){         float maxDiatance = diatanceMap(dots, time);         if(maxDiatance < min){         min = maxDiatance;         resultTime = time;          }         maxDiatance = 0;         time += 0.01;         }         DecimalFormat    df   = new DecimalFormat("######0.00");          System.out.println(df.format(resultTime) + " " + df.format(min));         }         System.out.println(); }  }
点赞 15

相关推荐

自由水:这HR已经很好了,多的是已读不回和不读了
点赞 评论 收藏
分享
求面试求offer啊啊啊啊:把华北改为华南再试一试,应该就没啥问题了。改完可能都不用投,别人主动联系了。
点赞 评论 收藏
分享
牛客网
牛客企业服务