zoukankan      html  css  js  c++  java
  • 找水王2

    一、题目
     
          三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有3个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖 数目超过了帖子数目的四分之一。
     
      如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个三个传说中的水王吗?
     
    二、设计思想
     
          从头到尾遍历帖子列表,每次消四个不同的id,最后剩下的一定是3个小水王。
     
    三、源代码
     

    //找水王2
    //王文奇 20132980 2016/5/26
    #include<iostream>
    using namespace std;
    int main()
    {
        int size = 0;
        int num[3] = { 0 };       //分别用于记录三个小水王的发帖数
        int WaterWang[3];
        cout << "请输入ID个数:";
        cin >> size;
        int *ID = new int[size];
    
        cout << "请输入ID(请保证三个小水王ID个数大于数量的1/4):" << endl;
        for (int i = 0; i < size; i++)
        {
            cin >> *(ID + i);
        }
    
        
        //寻找小水王
        for (int i = 0; i < size; i++)
        {
            if (num[0] == 0)
            {
                WaterWang[0] = ID[i];
                num[0]++;
                continue;
            }
            if (ID[i] == WaterWang[0])
            {
                num[0]++;
                continue;
            }
            if (num[1] == 0)
            {
                WaterWang[1] = ID[i];
                num[1]++;
                continue;
            }
            if (ID[i] == WaterWang[1])
            {
                num[1]++;
                continue;
            }
            if (num[2] == 0)
            {
                WaterWang[2] = ID[i];
                num[2]++;
                continue;
            }
            if (ID[i] == WaterWang[2])
            {
                num[2]++;
                continue;
            }
    
            for (int j = 0; j < 3; j++)
                num[j]--;
        }
        cout << "水王id为:";
        for (int j = 0; j < 3; j++)
            cout << WaterWang[j] << "     ";
        
        delete[] ID;
    
        return 0;
    }

    四、运行结果

    五、总结

           这次与上次一样,只不过水王变成了3个,我们不能在两两消除了,我跟同学讨论了下,四四消除才是解决这问题的正解。

  • 相关阅读:
    LINQ体验(11)——LINQ to SQL语句之Null语义和String/DateTime方法
    C#常用正则表达式
    oracle 体系结构解析
    Cloudera Manager5安装总结遇到问题及解决办法
    向CDH5集群中添加新的主机节点
    ZeroCopyLiteralByteString cannot access superclass
    如何杀掉当前正在执行的hadoop任务
    Mapreduce读取Hbase表,写数据到多个Hbase表中
    Mapreduce读取Hbase表,写数据到一个Hbase表中
    HUE 安装
  • 原文地址:https://www.cnblogs.com/qwer111/p/5536053.html
Copyright © 2011-2022 走看看