1384.txt
来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 52 行
TXT
52 行
#include"stdio.h"
#include"memory.h"
int min[10010];
int value[510],weight[510];
int n,e,f;
void init()
{
int i;
scanf("%d %d",&e,&f);
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d %d",&value[i],&weight[i]);
for(i=1;i<=f-e;i++)
min[i]=99999999;
min[0]=0;
}
void doit()
{
int i,j,max;
for(i=0;i<n;i++)
{
max=f-e-weight[i];
for(j=0;j<=max;j++)
if(min[j+weight[i]]>min[j]+value[i])
min[j+weight[i]]=min[j]+value[i];
}
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
init();
doit();
if(min[f-e]==99999999)
printf("This is impossible.\n");
else printf("The minimum amount of money in the piggy-bank is %d.\n",min[f-e]);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?