首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

只求测试数据 C语言 编程,该如何处理

2012-10-20 
只求测试数据C语言编程题目:http://icpc.ahu.edu.cn/OJ/Problem.aspx?id2这是我的代码:C/C++ code#includ

只求测试数据 C语言 编程
题目:

http://icpc.ahu.edu.cn/OJ/Problem.aspx?id=2

这是我的代码:

C/C++ code
#include<stdio.h>int search_max(double a[],int n){    int j,max=0;    for(j=1;j<n;j++)        if(a[max]<a[j])            max=j;        return(max);}int main(){    int M,N,max,time,i;    int a[21][2];    double perv[20],val;    while(scanf("%d%d",&M,&N)!=EOF)    {        time=0;        val=0;        i=-1;    while(++i,scanf("%d%d",&a[i][0],&a[i][1]),a[i][0]);     for(i=0;i<M;i++)        perv[i]=(double)a[i][1]/a[i][0];    i=M;    while(i--)    {        max=search_max(perv,M);        if(time+a[max][0]>N) break;         time+=a[max][0];        val+=a[max][1];        perv[max]=0;    }    val+=perv[max]*(N-time);    printf("%.2f\n",val);    }        return 0;}




提交后Runtime Error[Nonzero Return Value]

一般的数据我试过都可以

只求特殊的测试数据了。谢谢各位!

[解决办法]
数据大了肯定超时.................你每次取最大都要将没有取的数据从头到尾扫一篇。。。。。。还不如开始的时候就排个序
[解决办法]
RE无非几种情况,数组越界,数组下标为负的。感觉你只用了一个变量i,肯定出在i上了,建议不要为了节省这点内存,多用几个。
[解决办法]
背包问题。
[解决办法]
search_max函数有问题,应该这样些:

int search_max(double a[], int n) 
{
int i, max;

if (n <= 0) return -1;
max = 0;
for (i = 1; i < n; i++) {
if (a[max] < a[j]) max = j;
}
return max;
}

热点排行