• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
陈小喵
博客园    首页    新随笔    联系   管理    订阅  订阅
“找出水王”分析报告

“找出水王”分析报告

一、题目要求

       三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

 

二、设计思路

1、水王的发帖数超过所有人的一半,这个是个重要信息。

2、这个就和开心消消乐一样,一对一对的把不同的id消去,剩下的一定就是水王的id。

3、因为水王的id超过了发帖数目的一半,消掉水王id最多的情况就是一个水王的id消去一个不同的id,但因为条件1,所以最后剩下的也会是水王的id。

 

三、源代码

#include<iostream>
using namespace std;

void main()
{
    int id[10],i;

    cout<<"请输入十个id:"<<endl;

    for(i=0;i<10;i++)
    {
        cin>>id[i];
    }

    int shuiwang,num=0;

    for(i=0;i<10;i++)
    {
        if(num==0)
        {
            shuiwang=id[i];
            num=1;          //重新找一个id继续消
        }
        else
        {
            if(shuiwang==id[i])
            {
                num++;
            }
            else
            {
                num--;
            }
        }
    }

    cout<<"水王的id为:"<<shuiwang<<endl;
}

 

四、运行结果

五、报告总结

       这个程序告诉我们,玩游戏也不是没有好处的哈哈。一开始我还想着弄个计数的东西,id出现一次就计数一次,然后最后一比谁多就出来了,简单明了但是有点太麻烦。然后经过提醒就想到了这个思路。以后编写程序想办法解决问题的时候,也不能一味的走传统路线,也需要新颖创新的东西,多思考,或许就能和这个程序一样省去很多麻烦。

 

posted on 2015-05-20 22:20  陈小喵  阅读(242)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3