dijkstra알고리즘을 이용하여 길을 나타내려고 하는데요 !!.....

밑의 소스는 각각의 복도를 인접행렬로 나타낸 것입니다.

복도는 회색 버튼으로 구현하였구요..

이 알고리즘을 이용해서 시작점과 도착점을 찍으면 가는길을 나타내려고 생각중입니다.

복도 버튼이 64개라 인접행렬을 64 x 64로 나타내었습니다.

이 소스를 이용하여 시작점과 도착점을 찍으면 어떻게 그 길을 나타내는지 질문드립니다..!!

WECM.jpg

public void onCreate(Bundle savedInstanceState) { // 자바에서의 생성자 같은 역할
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
int floor_five[]=new int[75];
int i,j;
int q, w;
private final static int N=64;
private final static int p=30000;// 최대 경로의 비용을 30000으로 제한

int distance_adj_matrix[][] = {
{0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //왼쪽위복도시작
{1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //왼쪽위복도끝
{p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //왼쪽위삼거리
{p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //위쪽복도시작
{p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //위쪽 복도 끝
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, p, p, p}, //오른쪽 위 삼거리
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //오른쪽 위 복도 시작
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //오른쪽 위 복도 끝
{p, p, p, p, p, p, p, p, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //왼쪽 수직 복도 시작Button86
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //왼쪽 수직 복도 끝
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //왼쪽 아래 삼거리
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //왼쪽 아래 복도 시작Button191
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //왼쪽 아래 복도끝
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, p, p, p, p, p, p, p, p, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p}, //아래쪽 복도 시작Button218
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, p, p}, //아래쪽 복도 끝
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p, 1}, //오른쪽 아래 삼거리
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p, p}, //오른쪽 아래 복도 시작
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p, p, p, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, p, p, p, p}, //오른쪽 아래 복도 끝
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 0, 1, p, p}, //오른쪽 수직 복도 시작 Button95
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1, p},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, 0, 1},
{p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, 1, p, p, p, p, p, p, p, p, p, p, 1, 0},

};

void draw_way(int a,int b){
int i;

for(i=0; i<b; i++){
botton52 = (botton52)findViewById(id);
}
}
// 이건 이미지 바꿔줄때 카톡 내용 참고 botton52 = (botton52)findViewById(id)

//@Override
public boolean onCreateOptionsMenu(Menu menu) {// 어플 실행하고 메뉴버튼 눌렀을때 나오는거
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
private int shortest_distance[]= new int[]{p,p,p,p,p,p,p,p,p}; //최단경로 배열 선언
private int node_check[]=new int[]{0,0,0,0,0,0,0,0,0};
private int path[]=new int[]{p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p};// 경로 배열 선언
private int path_check[]=new int[]{p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p};
private int start_node=0;// 출발점 초기화
private int end_node=0;// 도착점 초기화
private int minimum=0;


private void distance()
{
shortest_distance[start_node] = 0;
int k=0;
for (int i=0; i<65; i++){
minimum = p;
for (int j=0; j<65; j++){
if (node_check[j]==0 && shortest_distance[j] < minimum){
k = j;
minimum = shortest_distance[j];
}
}
node_check[k] = 1;
if (minimum==p){
break;
}
for (int j=0; j<65; j++){
if (shortest_distance[j] > shortest_distance[k] + distance_adj_matrix[k][j]){
shortest_distance[j] = shortest_distance[k] + distance_adj_matrix[k][j];
path_check[j] = k;
}
}
path_save(k,i);
if(node_check[end_node]==1){
break;
}
}
}

private void path_save(int k,int i)
{
path[i] = k;
k=path_check[k];
}


}