acm peking 1163

原创 2007年10月10日 17:11:00

#include <iostream>
#include <malloc.h>
using namespace std;

int *array1;

int countnum(int row)
{
 int sum=0;
 for(int i=0;i<row;i++)
 {
  sum+=i+1;
 }
 return sum;
}

int initarray(int *i, int num)
{
 int m;
 for(int j=0;j<num;j++)
 {
  cin>>m;
  *(i+j)=m;
 }
 return 0;
}

int intmax(int x, int y)
{
 return x>y?x:y;
}

int getmaxsum(int *i, int rows, int row, int col)
{
 if(rows==1)
 {
  *(array1+countnum(row-1)+col)=*(i+countnum(row-1)+col);
  return *(i+countnum(row-1)+col);
 }
 else
 {
  int d,dr;
  if(*(array1+countnum(row)+col)!=10000)
   d=*(array1+countnum(row)+col);
  else
  {
   d=getmaxsum(i,rows-1,row+1,col);
   *(array1+countnum(row)+col)=d;
  }
  if(*(array1+countnum(row)+col+1)!=10000)
   dr=*(array1+countnum(row)+col+1);
  else
  {
   dr=getmaxsum(i,rows-1,row+1,col+1);
   *(array1+countnum(row)+col+1)=dr;
  }
  return *(i+countnum(row-1)+col)+intmax(d,dr);
 }
}
int main(int argc, char* argv[])
{
 int num;
 int *array;
 cin>>num;
 array=(int *)malloc(sizeof(int)*countnum(num));
 array1=(int *)malloc(sizeof(int)*countnum(num));
 for(int i=0;i<countnum(num);i++)
 {
  *(array1+i)=10000;
 }
 initarray(array,countnum(num));
 cout<<getmaxsum(array,num,1,0)<<endl;
 return 0;

HDU 2203 亲和串(多个字符串函数的运用)

亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm...
  • hurmishine
  • hurmishine
  • 2016年05月17日 22:42
  • 3777

最高的奖励 51Nod - 1163

点击打开链接 先将数据存入数组 排序 终止时间小的在前 相等则奖励值大的在前 之后将数组元素依次入队 若遇到奖励值较大却终止时间已过的元素 则用其替换掉 之前已选的元素中奖励值最小的 因为每个已...
  • sunyutian1998
  • sunyutian1998
  • 2017年07月23日 20:51
  • 94

1163 访问艺术馆

题目描述 Description     皮尔是一个出了名的盗画者,他经过数月的精心准备,打算到艺术馆盗画。艺术馆的结构,每条走廊要么分叉为二条走廊,要么通向一个展览室。皮尔知道每个展室里藏画的...
  • thy0311
  • thy0311
  • 2014年12月23日 13:09
  • 134

CODEVS 1163 访问艺术馆

题目描述 Description皮尔是一个出了名的盗画者,他经过数月的精心准备,打算到艺术馆盗画。艺术馆的结构,每条走廊要么分叉为二条走廊,要么通向一个展览室。皮尔知道每个展室里藏画的数量,并且他精确...
  • ypxrain
  • ypxrain
  • 2017年03月09日 20:48
  • 120

51nod 1163 最高的奖励

有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突...
  • qq_39091609
  • qq_39091609
  • 2017年07月24日 13:30
  • 34

51NOD 1163 最高的奖励

1163 最高的奖励 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务...
  • LuRiCheng
  • LuRiCheng
  • 2016年09月22日 19:54
  • 187

51nod-【1163 最高的奖励】

1163 最高的奖励 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 有N个任务,每个任务有一个...
  • Cai_Nia
  • Cai_Nia
  • 2016年11月16日 14:23
  • 145

题目1163:素数

题目描述: 输入一个整数n(2 输入: 输入有多组数据。 每组一行,输入n。 输出: 输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用...
  • u011325614
  • u011325614
  • 2013年08月03日 23:08
  • 463

我对ACM初学者想说的话

1  算法学习        ACM算法的学习,一般看刘汝佳的系列书籍即可。初学者需要看的书是《算法竞赛入门经典》(俗称小白书),或者可以看《算法竞赛入门经典(第二版)》(俗称紫书)。理论上说,紫书...
  • DaiHaoC83E15
  • DaiHaoC83E15
  • 2014年11月04日 11:37
  • 4694

最全ACM常用STL

STL 中专门用于排列的函数(可以处理存在重复数据集的排列问题) 头文件:#include using namespace std; 调用: next_permutation(start, e...
  • dreamzuora
  • dreamzuora
  • 2016年12月07日 20:38
  • 668
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:acm peking 1163
举报原因:
原因补充:

(最多只允许输入30个字)