[플로이드] 플로이드 최단경로

등록일 2003.06.01 한글 (hwp) | 9페이지 | 가격 1,000원

목차

동적계획법을 이용하는 플로이드 알고리즘을 사용하여 최단경로를 구해보자

본문내용

#include <iostream.h>
#include<stdio.h>
#include<stdlib.h>
#define MAX 50
int head[MAX][MAX];
void Floyd2();
void path(int from,int to);
void mat(int l);
void Pmat(int l);
int P[MAX][MAX];
int n,link,x,y,c;
main()
{

FILE *fp;
int start,ende;
if((fp=fopen("list.txt","r"))==NULL)
{
cout << "Open ERRER";
}
fscanf(fp,"%d %d",&n,&link); // 버텍스 수 , 에지 수
for(int t=1;t<=n;t++)
{
for(int h=1;h<=n;h++)
{
P[t][h]=-1;
if(t==h)
head[t][h]=0;
else
head[t][h]=10000;
}
}
cout << "======= 그래프정보 ======================"<<endl;
cout << "Node(Vertex)는 " << n <<"개, Edge는 " << link <<"개 입니다."<<endl<<endl;

while(fscanf(fp,"%d %d %d",&x,&y,&c) != EOF){
cout <<" "<< x <<" -> "<< y <<" 가중치 = "<< c <<endl;
head[x][y]=c;}
cout << "--------------------------- mat list ---------------------------"<<endl;
printf("\t ");
for(int j=1;j<=n;j++)
printf("[%2d]\t",j);
printf("\n");
for(int m=1;m<=n;m++)
{
printf("<%2d>\t",m);
for(int g=1;g<=n;g++)
printf("%5d\t",head[m][g]);
printf("\n");
}
printf("----------------------------Floyd_alg count---------------------\n");
printf("Input of Starting node & end node --> ");
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기