码迷,mamicode.com
首页 > 其他好文 > 详细

寻找水桶---软件工程

时间:2015-04-24 18:51:13      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

一、题目与设计思路

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

(1)发帖者的id存储到一个一维数组。

(2)利用“消消乐”小游戏的思想,消除元素id不同的元素,最后剩下的便是“水桶”。

(3)扩展水王的思想,一个变3个。

(4)输出结果。

二、源代码

//作者:董龙洋 日期:2015.04.23
#include<iostream.h>
void main()
{
    int Array[11];//发帖者ID
    int i;//计数变量
    int count[3];//次数
    count[0]=count[1]=count[2]=0;
    int st[3];///水桶
    cout<<"**************寻找水桶的小程序****************"<<endl;
    cout<<"输入发帖者id(11个,id用整数代替):"<<endl;
    for(i=0;i<11;i++)
    {
        cin>>Array[i];
    }
    for(i=0;i<11;i++)
    {
        if(count[0]==0)
        {
            st[0]=Array[i];
            count[0]=1;
        }
        else if(count[1]==0)
        {
            st[1]=Array[i];
            count[1]=1;
        }
        else if(count[2]==0)
        {
            st[2]=Array[i];
            count[2]=1;
        }
        else if(st[0]==Array[i])
        {
            count[0]++;
        }
        else if(st[1]==Array[i])
        {
            count[1]++;
        }
        else if(st[2]==Array[i])
        {
            count[2]++;
        }
        else
        {
            count[0]--;
            count[1]--;
            count[2]--;

        }
    }
    cout<<"三个水桶的id是:"<<st[0]<<"  "<<st[1]<<"   "<<st[2]<<endl;
}

 

技术分享

 

 
 

三、运行结果截图

技术分享

四、心得体会

  题目很简单,主要是怎样更加优化,是时间复杂度降低。借用水王的代码优化,那么消消乐的思想就很适用。编程实现就好了。

寻找水桶---软件工程

标签:

原文地址:http://www.cnblogs.com/dlyxx/p/4454133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!