Metal Steak

Hard to eat

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  0 Posts :: 79 Stories :: 0 Comments :: 0 Trackbacks

公告

aaaaaaaaaaaa

常用链接

留言簿(1)

我参与的团队

搜索

  •  

最新评论

#include <iostream>
using namespace std;

int
n, m, a[
21], b[21];
long double
ans[
21][201], c[21][201];

void
__read__()
{
    cin 
>> n >> m;
    
forint i = 1; i <= m; i++ )
        cin 
>> a[i] >> b[i];
}

void
__init__()
{
    
forint i = 1; i <= m; i++ )
        
forint j = 1; j <= n; j++ )
        {
            
long double pr = j;
            
forint k = 1; k < b[i]; k++ )
                pr 
*= j;
            c[i][j] 
=  pr * a[i];
            
if( i == 1 )
                ans[i][j] 
= c[i][j];
            
else
                ans[i][j] 
= 3999999999;
        }
}

void
__dp__()
{
    
forint i = 2; i <= m; i++ )
        
forint j = 1; j <= n; j++ )
            
forint k = 0; k <= j; k++ )
                
if( ans[i][j] > ( ans[i - 1][j - k] + c[i][k] ) )
                    ans[i][j] 
= ( ans[i - 1][j - k] + c[i][k] );
}

void
__outp__()
{
    cout 
<< ans[m][n] << endl;
}

int
main()
{
    __read__();
    __init__();
    __dp__();
    __outp__();

    
return 0;
}

posted on 2009-09-15 21:03 mad4alcohol 阅读(93) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理