tyvj1084数字三角形4

来源:互联网 发布:开源视频网站 php 编辑:程序博客网 时间:2024/06/05 17:08

描述
数字三角形必须经过某一个点,使之走的路程和最大
输入格式
第1行n,表示n行 <=25
第2到n+1行为每个的权值
第n+2行为两个数x,y表示必须经过的点
输出格式
最大值
测试样例1
输入
2
1
1 1
1 1
输出
2

#include<cstdio>using namespace std;int max(int x1,int y1){    if (x1>y1)      return x1;    else      return y1;}int main(){    int n,i,j,f[26][26],a[26][26],x,y;    scanf("%d",&n);    for (i=1;i<=n;i++)      for (j=1;j<=i;j++)        scanf("%d",&a[i][j]);    scanf("%d %d",&x,&y);    for (i=1;i<=n;i++)      f[n][i]=a[n][i];    f[x][y]=a[x][y]=a[x][y]+100000;    for (i=n-1;i>=1;i--)      for (j=1;j<=i;j++)        f[i][j]=max(f[i+1][j],f[i+1][j+1])+a[i][j];    printf("%d",f[1][1]-100000);    return 0;}
0 0
原创粉丝点击