哪错了?
查看原帖
哪错了?
2931
黄小U饮品楼主2014/11/6 09:41
#include<stdio.h>
int max(int x,int y)
{
    if(x>y)
    {
           return x;
           }
           else
           {
               return y;
               }
          }
int main(void)
{
    int t,m;
    scanf("%d%d",&t,&m);
    int c;       //接受价值和时间
    int d;
    int value[m+10];
    int time[m+10];
    int get[m+10][t+10];
for(c=1;c<=m;c++)
{
                 scanf("%d%d",&time[c],&value[c]);
                 }
     for(c=0,d=0;c<=m;c++)
     {
                          get[c][d]=0;
                          }
                          for(c=0,d=0;d<=t;d++)
                          {
                          get[c][d]=0;
                          }
       for(c=1;c<=m;c++)
       {
       for(d=1;d<=t;d++)
       {
               if(d>=time[c])
               {
                        get[c][d]=max(get[c-1][d],get[c-1][d-time[c]]+value[c]);
                            }
                            else
                            {
                                get[c][d]=get[c-1][d];
                                }
                        }
                        }
                    printf("%d",get[m][t]);    
}

2014/11/6 09:41
加载中...