正文

第35次编程比赛(冠军的代码)2006-07-28 10:02:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/16909.html

分享到:

作者:boxertony

// vc6下编译通过

// 为使用qsort进行数据比较
int cmp(const void*x, const void *y)
{
    return (*(int*)x - *(int*)y);
}

int MaxVisitors(int X[], int Y[], int n)
{
    qsort((void*)X, n, sizeof(int), cmp);
    qsort((void*)Y, n, sizeof(int), cmp);

    int        i, j;
    int        start_pos = 0;        // 进校循环起始位置
    int        max = 0;            // 最大车辆数

    for(i=0; i<n; ++i)
    {
        for(j = start_pos; j<n; ++j)
        {
            if(X[j] >= Y[i])
                break;
        }

        max = max<j-i?j-i:max;    // 只需要掌握在本时刻之前有多少辆车进入校园,多少辆出校园即可。
                                // j代表进入的车辆数,i代表出去的车辆数,二者之差就是本时刻
                                // 之前校园内的车辆数。
        if(j >= n)        // 进校情况循环完毕,则可以退出
            break;

        start_pos = j;
    }

    return max;
}

阅读(4120) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册