| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:大牛帮我看看吧~~ 官方数据都过了的...In Reply To:大牛帮我看看吧~~ 官方数据都过了的... Posted by:LIANGLIANG at 2004-06-13 11:53:19 > #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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator