• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • POJ1002 – 487-3279

    ACM-POJ EXP 282阅读 0评论

    全解题报告索引目录 -> 【北大ACM – POJ试题分类


    大致题意

    中文题,我就不废话了,不过据说某些RP低的同学会看到本题是英文题。。。


    解题思路

    有两种处理方法

    一、Hash+qsort法

    在输入时把字符号码转换为7位数字,用int保存,然后开两个8位数组vist和time,分别记录该号码是否出现过;若出现过,出现的次数是多少。

    把出现过2次或以上的号码先逐一存放到待输出数组sort_out

    输入完毕后,对数组sort_out快排,逐一输出这些号码及其出现次数即可。

    二、qsort法

    在输入时先把字符号码全部转换为7位数字,然后全部存入数组sort_out

    用qsort对数组sort_out排序,然后顺次读取每一个数组sort_out中的号码,相同的号码必然是连续存放的,只需把连续出现2次以上的号码输出即可。


    注意:本题输入必须使用字符串输入,若逐字输入,无论用何种算法都会超时。

    sort()与qsort( )都是C++的快排函数,本题的排序机制很简单,不想写比较函数的同学可以用sort()


    方法一:Hash+Qsort

    转载请注明:EXP 技术分享博客 » POJ1002 – 487-3279

    喜欢 (0) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址