HDOJ 1114 Piggy - Bank (완전 가방)
제목: 빈 깡통 의 무게, 현재 무게, 각 동전 의 무게 와 액면 가 를 알 고 있 으 며, 주어진 저금통 의 무게 에 따라 저금통 안에 적어도 얼마 가 들 어 있 는 지 구 해 야 한다.사고: 적절하게 채 워 진 완전 가방 (최소 치 를 구하 라) --- -----------------------------------------------------------------------------------------------------------------------------------------------초기 화 된 세부 적 인 문제 에서 우리 가 본 가장 좋 은 해 를 구 하 는 가방 문제 중 사실은 두 가지 서로 다른 질문 이 있다.어떤 문 제 는 '마침 가방 을 가득 채 워 라' 는 최 적 화 를 요구 하고, 어떤 문 제 는 반드시 가방 을 가득 채 워 야 한다 고 요구 하지 않 았 다.이 두 가지 질문 법 을 구별 하 는 실현 방법 은 초기 화 할 때 다르다.첫 번 째 질문 법 이 라면 가방 을 꽉 채 워 야 한다. 초기 화 할 때 F [0] 을 제외 하고 다른 F [1:: V] 를 모두 1 로 설정 하면 최종 적 으로 얻 은 F [V] 가 가방 을 꽉 채 우 는 가장 좋 은 방법 임 을 보증 할 수 있다.등 을 가득 채 워 야 한 다 는 요구 가 아니 라 가격 이 최대한 비 싸 기 를 원한 다 면 초기 화 할 때 F [0::: V] 를 모두 0 으로 설정 해 야 한다.왜 그 럴 까요?이렇게 이해 할 수 있 습 니 다. 초기 화 된 F 배열 은 사실상 가방 에 넣 을 수 있 는 아 이 템 이 없 을 때 합 법 적 인 상태 입 니 다.만약 에 가방 을 적당 하 게 채 워 달라 고 요구 하면 이때 용량 이 0 인 가방 만 아무것도 가치 가 0 인 상황 에서 '적당 하 게 채 워 진다' 고 할 수 있다. 다른 용량 의 가방 은 모두 합 법 적 인 해석 이 없고 정의 되 지 않 은 상태 에 속 하 므 로 할당 되 어야 한다.만약 에 가방 이 반드시 가득 채 워 져 야 하 는 것 이 아니라면 모든 용량 의 가방 은 합 법 적 으로 '아무것도 담 지 않 습 니 다' 를 풀 수 있 습 니 다. 이 분해 의 가 치 는 0 이기 때문에 초기 상태의 값 도 모두 0 입 니 다.이 작은 기 교 는 다른 유형의 배낭 문제 까지 충분히 보급 할 수 있다.
#include<stdio.h>
#define maxn 2222222// INT_MAX bag[j-w[i]]+p[i]
int bag[11111]={0},p[555],w[555];// 0 0 “ ”
int main()
{
int t,e,f,n,realw,i,j;
while(scanf("%d",&t)==1)
{
while(t--)
{
scanf("%d %d",&e,&f);
realw=f-e;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d %d",&p[i],&w[i]);
for(i=1;i<=realw;i++)
bag[i]=maxn;//
for(i=1;i<=n;i++)// (01 )
{
for(j=w[i];j<=realw;j++)
{
if(bag[j]>bag[j-w[i]]+p[i])
bag[j]=bag[j-w[i]]+p[i];
}
}
if(bag[realw]==maxn)
printf("This is impossible.
");
else
printf("The minimum amount of money in the piggy-bank is %d.
",bag[realw]);
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.