24h購物| | PChome| 登入
2009-03-07 22:07:13| 人氣579| 回應0 | 上一篇 | 下一篇

2006 NOIP 普及組 NOIP2006 2.開心的金明

推薦 0 收藏 0 轉貼0 訂閱站台

DP(背包問題)

/************************************************************/

#include<stdio.h>                 
#include<stdlib.h>     
main()     
{     
 int n,a,b,m;  
 while(scanf("%d %d",&n,&m)==2)  
  {  
   int value[50000]={0},max=0,sum=n*m;  
   for(a=0;a<m;a++)  
    {  
     int w1,w,price1;  
     scanf("%d %d",&w1,&price1);
     for(b=n-w1;b>=0;b--) 
      {  
       if(value[b+w1]<value[b]+price1*w1)
        {  
         value[b+w1]=value[b]+price1*w1;  
         if(value[b+w1]>max)  
          max=value[b+w1];  
        }  
      }
    }  
    printf("%d\n",max);  
  }  
 return 0;     
}

台長: 來源不明
人氣(579) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: 資訊競賽 |
此分類下一篇:2007 NOIP 提高組 NOIP2007 1.統計數字
此分類上一篇:科技冬令營信息學奧林匹克競賽樣題 七、最佳選擇

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文