题目
UNIN队设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
设计思想
切入点很明显,水王”发帖数目超过了帖子数目的一半。
代码实现
#include <iostream>
using namespace std;
int main()
{
int n,i,a[1000],t,p,q,m,l;
cout<<"请输入共发表的帖子总数:"<<endl;
cin>>n;
cout<<"请依次输入各个帖子的IP地址"<<endl;
for(i=0;i<n;i++)
{
cin>>a[i];
}
t=0;
q=a[0];
p=0;
for(i=1;i<n;i++)
{
if(a[i]==q)
{
t++;
if(t>=p)
{
p=t;
m=a[i];
}
q=a[i];
}
else
{
l=t--;
if(l<0)
{
t=0;
q=a[i];
}
else
{
t=l;
q=a[i];
}
}
}
cout<<"找到的水王的IP地址为:"<<m<<endl;
}
实现截图
个人总结
题目比较简单,不过为了保证数据量较大的情况下还能正常运行就不能产生过大开销,还是需要一定思考的