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

    设计思路:
    根据题目得到了以下信息:
    1.水王会回复每个ID的发的帖子
    2.水王发帖数超过了论坛帖子数目的一半
     
    在这其中,可以看到很重要的一点:水王发帖数超过了总帖数的一半!
    那么,可以想象得到:假设我们知道水王的ID,且有一个变量n初始为0的数,要是每次看到水王的ID就+1,不是就-1,这样一来,看完一遍所有的ID,这个初始数值一定大于0;
    更进一步来思考:我们现在不知道水王的ID,初始化为第一个发帖人,将其看作是水王ID,那么进行第一步,当n小于0时,将水王的ID更新为当前的ID,视为水王;如此进行,遍历一遍之后点找到了水王。
     
    其实,运用这种方法,在每次n小于0更新ID时,意义上就将该ID视为+1,其他的ID均为-1,这样一来就是将该ID分离了出来,实现了计算该ID出现的次数。
    代码

    #include<iostream>

    #include<string>

     

    using namespace std;

     

    void main()

    {    

             int n = 0;

             int s;

             string a[100], m;

     

             cout << "请输入总贴数:";

             cin >> s;

            

             cout << "输入每个帖子的ID:";

             for (int i = 0; i < s; i++)

             {

                       cin >> a[i];

             }

            

             m = a[0];

            

             for (int i = 0; i < s; i++)

             {

                       if (m == a[i])

                       {

                                n += 1;

                       }

                       else

                                n -= 1;

                      

                       if (n < 0)

                       {

                                m = a[i];

                       }

             }

            

             cout << "水王是:" << m << endl;

     

    }

    截图:

    编程总结:

    经过这一次的编程让我认识到:一个好的程序最重要的一点就是 好的设计思路 ;它可以有效地提高程序的效率。

    而且,我们不能仅仅局限在一种思路中,有时候,换个思路会是一片不一样的天空!

  • 相关阅读:
    解决DataGridView绑定List后不能排序的问题
    最新的皮肤下载
    我收录的名言
    HttpRequest访问Https带有证书并使用WSDL文档生成代理类方案(2)
    最新的Functions 类
    华兴软通短信接口简单使用WebServices版
    最新的SqlHelper 类
    闲来没事写个记事本玩玩!!!
    "基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系"证书验证失败的解决过程(3)
    FCK配置
  • 原文地址:https://www.cnblogs.com/D9412/p/4520612.html
Copyright © 2011-2022 走看看