목차
다이나믹 알고리즘 이해하기
1. 가장높은탑 쌓기 문제설명
2. 문제 해설 및 알고리즘 설명
3. 소스
1. 가장높은탑 쌓기 문제설명
2. 문제 해설 및 알고리즘 설명
3. 소스
본문내용
ge(weight[i],weight[j]);
change(height[i],height[j]);
change(width[i],width[j]);
}
}
}
for(i=0;i
{
stack[i]=height[i];
via[i]=-1;
}
}
void process()
{
int i,j;
for(i=0;i
{
for(j=i+1;j
{
if(width[i]>width[j])
{
if(stack[i]+height[j]>stack[j])
{
stack[j]=height[i]+stack[j];
via[j]=i;
}
}
}
}
max=stack[0];
for(i=1;i
{
if(stack[i]>max)
{
max=stack[i];
temp=i;
}
}
}
print_via()
{
int i;
i=temp;
while(1)
{
fprintf(out,"%d벽돌을 선택하였습니다.\n",number[i]);
i=via[i];
if(i<0) break;
}
fprintf(out,"최대 높이는 %d입니다.\n",max);
}
void main()
{
input();
sort();
process();
print_via();
}
change(height[i],height[j]);
change(width[i],width[j]);
}
}
}
for(i=0;i
stack[i]=height[i];
via[i]=-1;
}
}
void process()
{
int i,j;
for(i=0;i
for(j=i+1;j
if(width[i]>width[j])
{
if(stack[i]+height[j]>stack[j])
{
stack[j]=height[i]+stack[j];
via[j]=i;
}
}
}
}
max=stack[0];
for(i=1;i
if(stack[i]>max)
{
max=stack[i];
temp=i;
}
}
}
print_via()
{
int i;
i=temp;
while(1)
{
fprintf(out,"%d벽돌을 선택하였습니다.\n",number[i]);
i=via[i];
if(i<0) break;
}
fprintf(out,"최대 높이는 %d입니다.\n",max);
}
void main()
{
input();
sort();
process();
print_via();
}
추천자료
- 여성과범죄에관한레포트
- 기업의 사회적 책임
- [지식기반경제사회][경력개발제도][인재개발][인재육성][인재육성제도][기업이 바라는 인재상...
- 환경사회학 (송전탑과 지역주민의 피해) - 삼하리 상촌 마을 사례를 중심으로
- [언어][남성언어][여성언어]언어의 정의, 언어의 종류, 언어의 갈래, 언어의 특성, 언어의 기...
- 마케팅 원리 히트상품 전략 - 삼성 파브
- [언어지도]언어의 특성 중 3가지를 선택해서 그 개념을 각각 설명하고, 그 특성에 해당하는 ...
- 훈민정음의 이해
- 사천왕사지와 장항리사지를 통해 본 신라의 불교
- [소비자정보의 이론적 접근] 소비자정보의 경제학적 접근(가격과 품질의 최적소비선택) - 완...
- 사회복지법제 - 아동복지법 아동성폭력
소개글