public class TSP2 {
static int MAX = 15;
static int N = 15;
static double temp = 9999999;
static double[][] cache = new double[MAX][1<<MAX];
public static void main(String[] args) {
}
double shortestPath(int here, int visited) {
if(visited == (1<<N)-1) return dist[here][0];
temp = cache[here][visited];
if(temp >= 0) return temp;
temp = 99999999999l;
for (int next = 0; next < N; next++) {
if(visited && (1<<next)) continue;
double cand = dist[here][next] + shortestPath(next, visited + (1<<next));
temp = Math.min(temp, cand);
}
return temp;
}
}
'소프트웨어 개발 > Java - Basic' 카테고리의 다른 글
Java Reflection (리플렉션) 을 이용해 private 특정 타입 필드를 죄다 반올림하기. (0) | 2016.04.17 |
---|---|
SerialVersionUID가 뭐냐? (0) | 2016.04.10 |
배열및 다차원배열 출력방법 (0) | 2016.03.19 |
쓰레드(Thread) 관련 메서드가 죄다 Deprecated 된이유. (0) | 2015.08.29 |
Reader 등으로 글자 입력받기 (0) | 2015.08.24 |