HDU4508 DP + 누드 + 전체 가방

1922 단어 dp완전 배낭
1)
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
const int maxn=110000;
long long int dp[maxn];
int a[maxn];
int b[maxn];
int main()
{
    int m;
    while(cin>>m){
        if(m<1||m>100){
            break;
        }
        for(int i=1;i<=m;i++){
            cin>>a[i]>>b[i];
        }
        int jixian;
        cin>>jixian;
        memset(dp,0,sizeof(dp));
        for(int i=1;i<=m;i++){
            for(int j=b[i];j<=jixian;j++){
                dp[j]=max(dp[j],dp[j-b[i]]+a[i]);
            }
        }
        cout<<dp[jixian]<<endl;
    }
    return 0;
}

2)
Description
먹보에게 설날에 가장 행복한 일은 먹는 것이다. 하나도 없다!
하지만 여자에게 칼로리(열량)는 천적이야!
베테랑 미녀가 힐끗힐끗'뚱뚱하면 산이 무너지고 뚱뚱해지면 실을 뽑는 것 같다'는 이치를 잘 알고 있기 때문에 그녀는 네가 식단을 만들어서 그녀를 즐겁게 먹게 하는 동시에 천적을 많이 만들지 않기를 바란다.
물론 레시피를 간편하게 만들기 위해 힐러는 당일 그녀가 먹고 싶은 모든 음식이 그녀에게 행복을 가져다 줄 수 있는 정도와 칼로리를 증가시킬 수 있는 일일 음식 리스트를 제공한다.
 
Input
여러 그룹의 테스트 용례를 포함하는 것을 입력하십시오.
각 그룹의 데이터는 하나의 정수 n으로 시작하여 매일 음식 명세서에 n가지 음식이 있음을 나타낸다.
다음 n줄에 두 개의 정수 a와 b가 있는데 그 중에서 a는 이런 음식이 힐러의 행복치(수치가 클수록 행복)를 가져다 줄 수 있음을 나타낸다. b는 힐러가 이런 음식을 먹으면 흡수하는 칼로리를 나타낸다.
마지막으로 정수 m로 하루에 흡수하는 칼로리가 m를 넘으면 안 된다는 뜻이다.
  
[Technical Specification]
  1. 1 <= n <= 100
  2. 0 <= a,b <= 100000
  3. 1 <= m <= 100000
 
Output
리스트마다 칼로리 흡수량을 충족시키는 동시에 힐러에서 얻을 수 있는 최대 행복치를 정수로 출력한다.
 
Sample Input

     
     
     
     
3 3 3 7 7 9 9 10 5 1 1 5 3 10 3 6 8 7 5 6

 
Sample Output

   
   
   
   
10 20

좋은 웹페이지 즐겨찾기