| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3804 人关注过本帖, 3 人收藏
标题:求一个算法~~~~~~~想到头爆了~~~~~~
只看楼主 加入收藏
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
以下是引用C_printf在2014-1-6 15:34:22的发言:

没人帮你,我帮你!
程序代码:
#define NUMS 8

int comp(const void* a1,const void * a2)
{
    return *(int*)a1-*(int*)a2;
}

int _tmain(int argc, _TCHAR* argv[])
{
    int nums[NUMS] = {1,1,1,3,3,3,2,2};
    int isPair[NUMS] = {0};
    int pos1 = 0,pos2 = 1;
    int total = 0;
    qsort(nums,NUMS,sizeof(int),comp);//排序

    while(pos2 < NUMS)
    {
        if(nums[pos2] / nums[pos1] >= 3)
        {
            isPair[pos1] = isPair[pos2] = 1;
            pos1++;
            pos2++;
            total++;
        }
        else
        {
            pos2++;
        }
    }
    printf("%d\n",NUMS - total);
    getchar();
    return 0;
}

1、这个问题没你想的那么简单,只是一遍顺序扫描并不能在所有情况下找到最优解。这是图论中的最大匹配问题。

2、即使是顺序扫描你的代码逻辑也是错误的。isPair数组在你这里只是个摆设,没用。如果说你用楼主的样例测试正确,那只是个巧合而已。

重剑无锋,大巧不工
2014-01-08 10:12
C_printf
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:122
注 册:2010-1-26
收藏
得分:0 
回复 11楼 beyondyf
哈哈,isPair 是我来看那些配对的。
你给出最优解?别说废话
2014-01-08 12:56
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
我解不是问题,只是怕我的代码一出来你就消失了

重剑无锋,大巧不工
2014-01-08 13:17
C_printf
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:122
注 册:2010-1-26
收藏
得分:0 
回复 13楼 beyondyf
你解出这个,我就解出那一个,如何?
2014-01-08 15:01
fc176154001
Rank: 2
来 自:四川阆中
等 级:论坛游民
帖 子:87
专家分:96
注 册:2013-6-16
收藏
得分:0 
求pk啊,让我膜拜下呗

大神永远不能体会菜鸟们之间的惺惺相惜,
2014-01-08 17:23
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
以下是引用C_printf在2014-1-8 15:01:41的发言:

你解出这个,我就解出那一个,如何?

我就喜欢有人挑战。没问题。

楼主,你这题也是一个ACM题吧,把OJ地址发上来。

重剑无锋,大巧不工
2014-01-08 19:56
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
这个也一样,哪位热心仁兄能找到可访问的本题OJ地址,我赠送100专家分以示感谢。

重剑无锋,大巧不工
2014-01-08 20:33
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
补充一下:楼主把这个题目的详细描述发上来。包括完整的题目描述,输入输出说明。总之就是把这个题目那页网页能复制的信息全部复制下来。

重剑无锋,大巧不工
2014-01-08 21:27
fc176154001
Rank: 2
来 自:四川阆中
等 级:论坛游民
帖 子:87
专家分:96
注 册:2013-6-16
收藏
得分:0 
该发的发出来啊,本人菜鸟一枚,求充电,

大神永远不能体会菜鸟们之间的惺惺相惜,
2014-01-08 22:03
C_printf
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:122
注 册:2010-1-26
收藏
得分:0 
何必这么麻烦,直接上代码啊,你上一个,我上一个。
你指正我的不对,我指正你的不对!就这么简单。。。
2014-01-09 09:43
快速回复:求一个算法~~~~~~~想到头爆了~~~~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013080 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved