谁有 POJ 1276 cash machine 测试数据, 或检查下我代码, 郁闷中……
#include<stdio.h>#include<string.h>intf[100001];intmain(){intcash,n,nk,dk;while(scanf...
#include <stdio.h>
#include <string.h>
int f[100001];
int main()
{
int cash, n, nk, dk;
while(scanf("%d", &cash)!= EOF){
scanf("%d", &n);
memset(f, 0, sizeof(f));
if(cash > 0)
while(n--){
scanf("%d%d", &nk, &dk);
while(nk--){
for(int i=cash; i>= 0; i--)
if(i>=dk && f[i-dk]+dk > f[i] && f[i-dk]+dk <= i) //转化为01 问题
f[i] = f[i-dk]+dk;
}
}
printf("%d\n", f[cash]);
}
return 0;
}
我和AC 代码随便挑取数据 都一样,可是就是wrong answer 展开
#include <string.h>
int f[100001];
int main()
{
int cash, n, nk, dk;
while(scanf("%d", &cash)!= EOF){
scanf("%d", &n);
memset(f, 0, sizeof(f));
if(cash > 0)
while(n--){
scanf("%d%d", &nk, &dk);
while(nk--){
for(int i=cash; i>= 0; i--)
if(i>=dk && f[i-dk]+dk > f[i] && f[i-dk]+dk <= i) //转化为01 问题
f[i] = f[i-dk]+dk;
}
}
printf("%d\n", f[cash]);
}
return 0;
}
我和AC 代码随便挑取数据 都一样,可是就是wrong answer 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询