| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:这个是在论坛里看到的。。。盯了一下午了。。。什么都么盯出来。。
只看楼主 加入收藏
幻姬LOVE
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-1-20
收藏
 问题点数:0 回复次数:4 
这个是在论坛里看到的。。。盯了一下午了。。。什么都么盯出来。。
#include "stdio.h"
#define N 100000
int main()
{
        long n,i,j,a[N]={0},b[N]={0},Mt,Max,temp;
         while(scanf("%d",&n)!=EOF)
         {
                         Max=0;
                         for(i=1;i<=n;i++)
          {
             for(j=1;j<=i;j++)
                         scanf("%ld",&a[j]);
                            a[j]=0;
                if(i==1)
                                {
                            for(j=1;j<=i;j++)
                                        {
                                       b[j]=a[j];
                                        Max=b[j];
                                        }
                                         b[j]=0;
                                }
                 else
                 {
                         Mt=0;
                         for(j=1;j<=i;j++)
                         {
                            temp=b[j];
                            if(b[j]>Mt) Mt=b[j];
                            b[j]=Mt+a[j];
                            if(b[j]>Max) Max=b[j];
                            Mt=temp;
                                                 }
                                                 b[j]=0;
                 }
          }
     printf("It will take him %ld steps!\n",Max);
   
        }
         return 0;
}
红色的地方我绕啊绕绕不出来了。。。。大家帮帮忙。。。我盯的眼睛都直了
原题是:
goldfisher为了解救被绑架的未婚妻而来到了恶魔岛。上岛前,一个神秘的印度人yingnan告诉他恶魔岛处处布满陷阱,只有沿着地上标记数字和为最大的路径才能找到公主。为此他给goldfisher画了一个草图,假使地上标记的数字如下:
   1
  2 3
.1 5 9
9 1 1 1
其中的最大路径是1-3-9-1,最大的和是14,只有沿着这条路径走,才能找到公主。goldfisher犯难了,因为现实中标记的数字更多,难度更大。你能帮助goldfisher找到正确的道路解救他的未婚妻吗?
是在论坛里看到的。。。。
搜索更多相关主题的帖子: long include 
2008-01-27 20:14
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
题目在哪?
最佳核心算法:DP

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-01-30 19:55
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
回楼上,题目在http://

[[it] 本帖最后由 雨中飞燕 于 2008-1-30 20:06 编辑 [/it]]
2008-01-30 20:04
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
#include<stdio.h>
#include<conio.h>
int max(int r,int t)
{
    if(r>t) return r;
    else return t;
}
int main(void)
{
    int i,j;
    int n;
    int temp;
    int line[100001]={0};
    scanf("%d",&n);
    for(i=1;i<=n;i++)
       for(j=i;j>0;j--)
      {
        scanf("%d",&temp);
        line[j]=max(line[j],line[j-1])+temp;
      }
    temp=0;
    for(i=1;i<=n;i++) temp=max(temp,line[i]);
    printf("%d\n",temp);
    getch(); /*测评时去掉*/
    return 0;
}

[[it] 本帖最后由 卧龙孔明 于 2008-1-30 20:50 编辑 [/it]]

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-01-30 20:49
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
去看了看才知道,N<=100
以上程序中将1000001改成101就可以了,否则memset用时巨大
#include<stdio.h>
#include<string.h>
int max(int r,int t)
{
    if(r>t) return r;
    else return t;
}
int main(void)
{
    int i,j;
    int n;
    int temp;
    int line[101]={0};
    while(scanf("%d",&n)!=EOF)
    {
      memset(line,0,sizeof(line));
      for(i=1;i<=n;i++)
        for(j=i;j>0;j--)
        {
          scanf("%d",&temp);
          line[j]=max(line[j],line[j-1])+temp;
        }
      temp=0;
      for(i=1;i<=n;i++) if(temp<line[i]) temp=line[i];
      printf("It will take him %d steps!\n",temp);
    }
    return 0;
}

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-01-31 10:10
快速回复:这个是在论坛里看到的。。。盯了一下午了。。。什么都么盯出来。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017385 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved