백준/백준-C++
1932번: 숫자삼각형
Beabletoet
2017. 6. 10. 19:43
#include<cstdio>
int main()
{
int tri[500][500], n, ans = 0;
scanf("%d",&n);
for(int i = 0; i < n; ++i)
for(int j = 0; j <= i; ++j)
scanf("%d",&tri[i][j]);
if(n==1)
{
printf("%d",tri[0][0]);
return 1;
}
for(int i = 1; i < n; ++i)
for(int j = 0; j <= i; ++j)
if(j == 0)
tri[i][0] += tri[i-1][0];
else if(j==n-1)
tri[i][j] += tri[i-1][j-1];
else
{
tri[i][j] = (tri[i-1][j-1] > tri[i-1][j]) ? tri[i][j]+tri[i-1][j-1] : tri[i][j]+tri[i-1][j];
}
for(int i = 0; i < n; ++i)
ans = (tri[n-1][i] > ans) ? tri[n-1][i] : ans;
printf("%d",ans);
}