NYOJ 18 The Triangle (dp问题)
地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=18
思路:dp问题
代码如下:
1 #include<iostream> 2 using namespace std; 3 int a[105][105]; 4 int main() 5 { 6 int n,m,i,j; 7 while(cin>>n) 8 { 9 for(i=0;i<n;i++) 10 for(j=0;j<=i;j++) 11 cin>>a[i][j]; 12 for(i=n-2;i>=0;i--) //最后一个是n-1,那么从倒数 第二个n-2开始 13 { 14 for(j=0;j<=i;j++) 15 { 16 if(a[i+1][j]>a[i+1][j+1]) //这是由于三角形的形状决定要比较的对象 17 a[i][j]+=a[i+1][j]; 18 else 19 a[i][j]+=a[i+1][j+1]; 20 } 21 } 22 cout<<a[0][0]<<endl; 23 } 24 system("pause"); 25 return 0; 26 }