POJ 的测试数据到哪能找上? 向这样的在线评测系统,在哪找的题哇?

POJ1276wronganswer不知道哪出问题了,高手请教!我代码:#include<stdio.h>#include<string.h>intf[100001];i... POJ 1276 wrong answer 不知道哪出问题了,高手请教!
我代码:
#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)
f[i] = f[i-dk]+dk;
}
}
printf("%d\n", f[cash]);
}
return 0;
}
展开
 我来答
qfyh05
2011-02-07 · TA获得超过507个赞
知道小有建树答主
回答量:325
采纳率:50%
帮助的人:362万
展开全部
不说那么多,直接上反例:
735 0
0 3 10 100 10 50 10 10
输入了以上那测试用例后再测其他任何例子都无效,不信你测测。
所以要把if(cash>0)改为if(cash>=0),测评的时候发现超时,所以问题不在用例,你的算法效率太低了。你要重新考虑算法。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式