Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

大牛帮我看看吧~~ 官方数据都过了的...

Posted by LIANGLIANG at 2004-06-13 11:53:19 on Problem 1157
#include <stdio.h>

#define MAXN 102
#define MIN -9999999
int f[MAXN][MAXN];
int g[MAXN][MAXN];
int a[MAXN][MAXN];
int F,V;

int dp();

void display(int i,int j);

int main()
{
	int i,j;
	scanf("%d%d",&F,&V);
	for (i = 1; i <= F; i++)
		for (j = 1; j <= V; j++)
			scanf("%d",&a[i][j]);
	i = dp();
	display(i,F);
	return 0;
}

int dp()
{
	int i,j,k;
	for (i = 0; i <= F; i++)
		for (j = 0; j <= V; j++)
			f[i][j] = MIN;
	f[0][0] = 0;
	for (i = 1; i <= F; i++)
		for (j = 1; j <= V; j++)
			for (k = 0; k < j; k++)
				if (f[i-1][k] > MIN)
					if (f[i-1][k] + a[i][j] > f[i][j])
					{
						f[i][j] = f[i-1][k] + a[i][j];
						g[i][j] = k;
					}
	k = MIN;j = -1;
	for (i = 0; i <= V; i++)
		if (f[F][i] > k)
		{
			k = f[F][i]; j = i;
		}
	printf("%d\n",k);
	return j;
}

void display(int i,int j)
{
	if (!j)
		return;
	display(g[j][i],j-1);
	printf("%d ",i);
}




Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator