[[TableOfContents]] = 오늘의 문제 = * [http://www.acmicpc.net/problem/1932|숫자 삼각형] = 참가자 = * 박인서 * 15이원준 * [곽정흠] = 코드 = == 15이원준 == {{{ #include #include #include using namespace std; int main(){ vector in; vector vec; int N; scanf("%d", &N); int size; size = N * (N + 1) / 2; for(int i = 0; i #include int a[501][501], dp[501][501]; int main() { int n; std::cin >> n; for (int i = 0; i> a[i][j]; } } dp[0][0] = a[0][0]; for (int i = 1; i typedef struct { int num; int maxSum; }node; node tri[500][500]; int main() { int n; int maxRoute; int maxFinal; scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { scanf("%d", &(tri[i][j].num)); if (i == 0 && j == 0) { tri[i][j].maxSum = tri[i][j].num; } else { if (j != 0 && j != i) { if (tri[i - 1][j - 1].maxSum > tri[i - 1][j].maxSum) { tri[i][j].maxSum = tri[i - 1][j - 1].maxSum + tri[i][j].num; } else { tri[i][j].maxSum = tri[i - 1][j].maxSum + tri[i][j].num; } } else if (j == 0 && i != 0) { tri[i][j].maxSum = tri[i - 1][j].maxSum + tri[i][j].num; } else if (j == i&&j != 0) { tri[i][j].maxSum = tri[i - 1][j - 1].maxSum + tri[i][j].num; } } } } maxFinal = tri[n - 1][0].maxSum; for (int i = 1; i < n; i++) { if (tri[n - 1][i].maxSum > maxFinal) { maxFinal = tri[n - 1][i].maxSum; } } printf("%d", maxFinal); return 0; } }}} = 아이디어 = == 15이원준 == == 박인서 == == 곽정흠 ==