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

寻找水王续

时间:2015-04-29 21:20:33      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:

一、题目要求

随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,
你能从发帖列表中快速找到他们吗?
 二、设计思路
这次是求3个ID,而且他们发帖数各超过了总数的四分之一,所以再次用上次寻找水王实验的思想,消除不同ID号,只不
过得设置3个标记,复杂一点,可用数组表示。
三、代码
#include<iostream.h>
void ID_array(int l,int A[])
{
    
    cout<<"请输入ID序列:"<<endl;
    for(int i=0;i<l;i++)
        
    {
        
        cin>>A[i];
        
    }
    
}
int main()
{
    int l;//长度
    int target[3]={0,0,0};
    int ID[3]={-1,-1,-1};      
    cout<<"请输入的帖子数量:";
    cin>>l;
    int * shuiwang=new int [l];
    ID_array(l,shuiwang);
    for(int i=0;i<l;i++)
    {
        
        if(target[0]==0 && shuiwang[i]!=ID[1] && shuiwang[i]!=ID[2])
        {
            target[0]=1;
            ID[0]=shuiwang[i];
        }
        else if(target[1]==0 && shuiwang[i]!=ID[0] && shuiwang[i]!=ID[2])
        {
            target[1]=1;
            ID[1]=shuiwang[i];
        }
        else if(target[2]==0 && shuiwang[i]!=ID[0] && shuiwang[i]!=ID[1])
        {
            target[2]=1;
            ID[2]=shuiwang[i];
        }
        
        else if(shuiwang[i]!=ID[0] && shuiwang[i]!=ID[1] && shuiwang[i]!=ID[2])
        {
            target[0]--;
            target[1]--;
            target[2]--;
        }
        else if(shuiwang[i]==ID[0])
        {
            target[0]++;
        }
        else if(shuiwang[i]==ID[1])
        {
            target[1]++;
        }
        else if(shuiwang[i]==ID[2])
        {
            target[2]++;
        }
        
    }
    cout<<"水王一为:"<<ID[0]<<endl;
    cout<<"水王二为:"<<ID[1]<<endl;
    cout<<"水王三为:"<<ID[2]<<endl;
    return 0;
}

四、截图

技术分享

五、总结

通过这次实验,将”消消乐“思想再次强化运用,虽然这次题目更复杂,但是技巧用的好也很容易实现。

寻找水王续

标签:

原文地址:http://www.cnblogs.com/2015tan/p/4466828.html

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