zoukankan      html  css  js  c++  java
  • 2015 湘潭大学程序设计比赛(Internet)--G题-人生成就

    人生成就

    Accepted : 54   Submit : 104
    Time Limit : 10000 MS   Memory Limit : 65536 KB

    题目描述

    人生就像一个n*n的矩阵,矩阵每个元素都跟上下左右四个方向的元素联通,起始在左上角,终止在右下角,从起点开始,每次一个向右或向下移动一格。 每个元素上面都有一个人生成就值,表示你如果经历这个元素时候能增加的人生成就。 初始时候你的人生成就值为0,你当然想到达终点时候能获得最大的人生成就。那么问题来了:(你一定会以为我会要你求出到达终点时的最大人生成就值,但是你错了),问题就是,一共有多少条不同的路到终点时能达到最大的人生成就。

    输入

    约200个样例 每个样例的第一行为一个整数n(2 ≤ n ≤ 500),表示矩阵大小。以后的n行,每行n个整数cij表示这个矩阵, 0 ≤ cij ≤ 100。

    输出

    每行输出一个整数,最终的结果可能很大,请把结果对123456取模。

    样例输入

    3
    0 4 0
    2 3 0
    4 2 3
    4
    3 3 3 2
    2 0 0 0
    2 2 0 0
    2 4 4 3
    3
    3 3 3
    3 4 4
    4 4 3
    
    

    样例输出

    1
    2
    5
    

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #define N 550
    using namespace std;
    int a[N][N],dp[N][N],num[N][N];
    int main()
    {
    
        int i,j,n;
        while(scanf("%d",&n)!=EOF)
        {
            memset(a,0,sizeof(a));
            memset(num,0,sizeof(num));
            memset(dp,0,sizeof(dp));
            for(i=1;i<=n;i++)
            {
                for(j=1;j<=n;j++)
                {
                    scanf("%d",&a[i][j]);
                }
            }
            for(i=1;i<=n;i++)
            {
                for(j=1;j<=n;j++)
                {
                    dp[i][j]=max(dp[i-1][j]+a[i][j],dp[i][j-1]+a[i][j]);
                }
            }
            num[1][1]=1;
            for(i=1;i<=n;i++)
            {
                for(j=1;j<=n;j++)
                {
                    if(a[i][j]==dp[i][j]-dp[i-1][j])
                        num[i][j]+=num[i-1][j];
                    if(a[i][j]==dp[i][j]-dp[i][j-1])
                        num[i][j]+=num[i][j-1];
                    num[i][j]%=123456;
                }
            }
            printf("%d
    ",num[n][n]);
        }
        return 0;
    }
  • 相关阅读:
    S3C2440实现dm9000网卡驱动程序移植
    IMX257虚拟网卡vnet驱动程序
    ram_flash驱动
    S3C2440 nor_flash驱动程序
    Java 打印* 三角形
    Java系列学习说明
    java案例1,打印hello java
    zabbixproxy安装
    python鉴黄程序
    mssql发布订阅事项
  • 原文地址:https://www.cnblogs.com/zhengguiping--9876/p/4460745.html
Copyright © 2011-2022 走看看