티스토리 뷰
// MatrixPath.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//
#include "stdafx.h"
#define COLS 11
#define ROWS 10
// #define MIN(X,Y) (((X)<(Y))?(X):(Y))
int min(int x, int y)
{
return x<y?x:y;
}
int count = 0;
int mPath(int m[][COLS], int x, int y)
{
count++;
if( x == 0 && y == 0 )
return m[0][0];
if( x == 0 )
return m[y][0]+mPath(m, 0, y-1);
if( y == 0 )
return m[0][x]+mPath(m, x-1, 0);
return m[y][x] + min(mPath(m, x-1, y), mPath(m, x, y-1));
}
int _tmain(int argc, _TCHAR* argv[])
{
int m[ROWS][COLS] =
{
{ 1, 1, 1, 2, 1, 3, 2, 1, 2, 1, 2 },
{ 2, 3, 1, 4, 2, 4, 1, 3, 1, 2, 2 },
{ 1, 7, 1, 1, 2, 1, 2, 1, 2, 1, 1 },
{ 2, 1, 3, 1, 2, 1, 1, 3, 1, 2, 2 },
{ 1, 1, 1, 2, 1, 3, 2, 1, 2, 1, 2 },
{ 2, 3, 1, 4, 2, 4, 1, 3, 1, 2, 2 },
{ 1, 7, 1, 1, 2, 1, 2, 1, 2, 1, 1 },
{ 2, 1, 3, 1, 2, 1, 1, 3, 1, 2, 2 },
{ 1, 1, 1, 2, 1, 3, 2, 1, 2, 1, 2 },
{ 1, 7, 1, 1, 2, 1, 2, 1, 2, 1, 1 }
};
printf("Minium matrix path = %d\n", mPath(m, COLS-1, ROWS-1));
printf("Count = %d\n", count);
return 0;
}
실행결과
- Total
- Today
- Yesterday
- 스포어
- 티스토리달력2011
- 게시판
- CNN Student News
- ndsl
- NDSi
- C/C++
- 가을
- 동유럽
- NDS GAME LIST
- 동물의숲
- 2011사진공모전
- DLC
- jsp
- 티스토리달력2010
- 웃기는 사진
- oracle
- Project Diet
- 아이폰
- 슈퍼마리오 RPG
- 젤다의 전설
- 오라클
- Free Coupon
- 3분 영어 위클리
- NDS
- Spore
- 겨울
- 야생의 숨결
- 군대이야기
- Wii GAME
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |