U E D R , A S I H C RSS

자료구족발보쌈/1201 (rev. 1.4)

자료구족발보쌈/1201

앗! 종강이야!


1. 참여자 명단


함장 장용운 11학번 출석
선원 천준현 15학번 팀플
박인서 출석
이원준 출석
남헌 취침

2. 수업

2.1. 진행

1. 장소 : 6층 학회실
2. 시간 : 15시 ~ 17시

2.2. 내용

수심 11034m. 그래프 정ㅋ벅ㅋ
  • Shortist Path(Floyd-Warshall algorithm)

3. 코드

3.1. 예제1


4. 숙제

1. 복습하기
2. 복습하기
3. 복습하기




5. 숙제 제출

5.1. 천준현


5.2. 박인서

어쩌다 보니 C++...
#include <stdio.h>
#include <limits>
#define LEN 10

int a[LEN][LEN],path[LEN][LEN];

int main()
{
	int i,j,k,n,m;
	n=5,m=6;
	for(i=1;i<=5;i++)
	{
		for(j=1;j<=5;j++)
			if(i!=j) a[i][j]=std::numeric_limits<int>::max(),path[i][j]=i;
	}
	a[1][2]=2,a[2][1]=2;
	a[1][4]=1,a[4][1]=1;
	a[1][5]=2,a[5][1]=2;
	a[2][3]=4,a[3][2]=4;
	a[2][5]=1,a[5][2]=1;
	a[3][4]=3,a[4][3]=3;
	for(i=1;i<=5;i++)
	{
		for(j=1;j<=5;j++)
		{
			for(k=1;k<=5;k++)
			{
				if(a[j][i]!=std::numeric_limits<int>::max() && a[i][k]!=std::numeric_limits<int>::max() && a[j][k]>a[j][i]+a[i][k]) a[j][k]=a[j][i]+a[i][k],path[j][k ]=i;
			}
		}
	}
	for(i=1;i<=5;i++)
	{
		for(j=1;j<=5;j++) printf("%2d ",a[i][j]);
		printf("\n");
	}
	int x,y,res;
	scanf("%d %d",&x,&y);
	printf("%d ",y);
	if(x==y) return 0;
	res=path[x][y];
	while(res!=x)
	{
		printf("%d ",res);
		res=path[x][res];
	}
	printf("%d ",x);
	return 0;
}

5.3. 이원준


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:39
Processing time 0.0260 sec