zoukankan      html  css  js  c++  java
  • 找“水王”

    一、题目要求

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

         要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。

    二、设计思想

    水王发表的帖子超过半数,也就是说,如果将一篇帖子与水王的帖子抵消,这样一篇一篇进行,水王的帖子最终一定会剩下。我们假设第一篇帖子是水王的,设置一个参数统计与这篇帖子相同的帖子的个数,然后查找下一篇,如果是水王的,相同数加一,如果不是水王的就减一。当相同书减到小于0的时候,就把当前的这篇帖子重新作为水王的帖子。依次循环直到检查完所有的帖子。

    三、代码

    #include<iostream>
    using namespace std;
    void main()
    {
    
        int a[1000], n, same=0, id;
        cout << "请输入论坛所有ID的个数";
        cin >> n;
        cout << "请输入所有的ID序列";
        for (int i = 0; i<n; i++)
        {
            cin >> a[i];
        }
        id = a[0];
        for (int i = 0; i<n - 1; i++)
        {
            if (id == a[i + 1])
            {
                same += 1;
            }
            else
            {
                same -= 1;
            }
            if(same == -1)
            {
                i += 1;
                same = 0;
                id = a[i + 1];
            }
        }
    
        cout << "水王的ID是:" << id << endl;
    
    }

    四、截图

    五、总结

     一开始得知题目时我非常奇怪,觉的看不懂老师的题目,但是后来经过了思考与同学的提醒,我理清了思路。在得到一道题的要求时,我们不一定会立马就懂得如何去做,主要还是要去思考,思考一个思路再写代码要比直接写更节省时间。

  • 相关阅读:
    安装 macbook 双系统( OS X 和 Ubuntu )
    微信小程序初探
    [Javascript] Promise
    [AS/400] 基本概念
    [AS/400] Control Language(CL) 基本概念
    [AS/400] Control Language
    [github] 创建个人网页
    [tools] sublime 使用记录
    [Java] TreeMap
    exe转msi
  • 原文地址:https://www.cnblogs.com/lottie021/p/4593245.html
Copyright © 2011-2022 走看看