问题:UNIN队设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
思路:水王发帖数过半,两两消去剩水王
代码:
#include <iostream> using namespace std; void main() { int n,i,a[100],m,l; cin>>n; for(i=0;i<n;i++) { cin>>a[i]; } int t=0; int q=a[0]; int 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]; } } }