⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 evengridlayout.java

📁 经典的货郎担问题解决办法
💻 JAVA
字号:
package com.well.www.user.xanthian.java.layouts;import java.util.*;import com.well.www.user.xanthian.java.structures.*;import com.well.www.user.xanthian.java.tools.*;import com.well.www.user.xanthian.java.ui.*;public class EvenGridLayout{  public static void layout  (    double cities[][],    int cityX,    int cityY,    double width,    double height  )  {    double radius = Math.min ( height, width ) / 2.0D;    int numCities = cities.length;    TravellerStatus.setCircumference( 8.0D * radius );    int N = 1;    int derivedN = N * N;    while (derivedN < numCities )    {      N++;      derivedN = N * N;    }    int naturalProblemSize = N;    double x_span = width;    double x_step = x_span / ( naturalProblemSize - 1 );    double y_span = height;    double y_step = y_span / ( naturalProblemSize - 1 );    double step   = Math.min( x_step, y_step );    if ( ( numCities % 2 ) == 0 )    {      TravellerStatus.setExactSolution( step * ( (double) numCities ) );    }    else    {      TravellerStatus.setExactSolution       (        ( step * ( (double) ( numCities - 1 ) ) )        + step * Math.sqrt( 2.0D )      );    }    int currentCityNumber = 0;    for (int i = 0; i < naturalProblemSize; i++)    {      for (int j = 0; j < naturalProblemSize; j++)      {        if ( currentCityNumber < numCities )        {          cities[currentCityNumber][cityX] = step * (double)i;          cities[currentCityNumber][cityY] = step * (double)j;        }        currentCityNumber++;      }    }    TravellerStatus.setExactSolutionIsKnown( true );    PerturbLayout.layout( cities, cityX, cityY, width, height );   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -