小水王

#include "iostream"

int main()
{
    int length;
    int Idcou[3]={0,0,0};//计数器初始化为0
    int ID[3]={0,0,0};     //水王id初始化为0
    printf("请输入发帖的数量:");
    scanf("%d",&length);
    int * shuiwang=new int [length];
    printf("请输入所有发帖人的ID:");
    for(int j=0;j<length;j++)//输入id
    {
        scanf("%d",&shuiwang[j]);
    }
    for(int i=0;i<length;i++)//找水王
    {
        if(Idcou[0]==0 && shuiwang[i]!=ID[1] && shuiwang[i]!=ID[2])
        {
            Idcou[0]=1;
            ID[0]=shuiwang[i];
        }
        else if(Idcou[1]==0 &&shuiwang[i]!=ID[0] && shuiwang[i]!=ID[2])
        {
            Idcou[1]=1;
            ID[1]=shuiwang[i];
        }
        else if(Idcou[2]==0 &&shuiwang[i]!=ID[0] && shuiwang[i]!=ID[1])
        {
            Idcou[2]=1;
            ID[2]=shuiwang[i];
        }
        else if(shuiwang[i]!=ID[0] && shuiwang[i]!=ID[1] && shuiwang[i]!=ID[2])
        {
            Idcou[0]--;
            Idcou[1]--;
            Idcou[2]--;
        }
        else if(shuiwang[i]==ID[0])
        {
            Idcou[0]++;
        }
        else if(shuiwang[i]==ID[1])
        {
            Idcou[1]++;
        }
        else if(shuiwang[i]==ID[2])
        {
            Idcou[2]++;
        }
    }
  printf("三个水王的ID是:\n");
  printf("%d\t%d\t%d\t\n",ID[0],ID[1],ID[2]);
    return 0;
}
时间: 2024-12-13 10:41:19

小水王的相关文章

找小水王

一.题目要求 随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID.据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗? 二.设计思想 参考:http://www.cnblogs.com/sooner/archive/2013/04/02/2996589.html 由于大水王的代码,自己实现的不好,这次参考了别人的,但是还没弄透,明天再跟新,附自己理解后的代码!!!!! 三.代码实现 //mao2016.5.28 //找小水王 #include <iostr

寻找水王2——寻找三个小水王

一.实验题目 二.实现方法及设计思路 三.实验代码 //data:2016.5.27 #include<iostream> #include<string> #include<fstream> using namespace std; void getArray(string a[]) { string strTemp; //获取文件中第一个字符,判断文件是否为空 cout << "读取帖子列表可得:" << endl; fs

课堂测试-找小水王

题目:在上一次的基础上,大水王消失了,出现了三个小水王,并且他们发帖数均超过总数的1/4,要求:如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这三个小水王吗? 代码: //找小水王 lvguanghao #include <iostream> using namespace std; #define N 100 int main() { int xiaoshuiwang[3]; int ID[N], a; int num = 0; int count[

寻找小水王

寻找发帖“水王”问题的扩展:“超级水王”没有了.统计结果表明,有3个发帖很多的ID,他们的发帖数目都超过了帖子总数目N的1/4.你能从发帖ID列表中快速找出他们的ID吗? (一)分析问题: 如果每次删除四个不同的ID(不管是否包含发帖数目超过总数1/4的ID),那么,在剩下的ID列表中,原先发帖比例大于1/4的ID所占比例仍然大于1/4,可以通过不断重复这个过程,把ID列表中的ID总数降低(转化为更小的问题),从而得到问题的答案 (二)代码实现: package 找小水王; public cla

软件工程 寻找小水王

设计思想: 随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID.据统计他们的发帖数量超过了1/4.已知小水王有三个,而且他们每个人发帖数均超过了1/4,按照id给所有帖子排序,这样同id的帖子就聚集在一起,由于每个水王的发帖数均大于1/4,所以可以根据每个id在数组中的位置找出三个水王. 代码: 实验结果:

课堂作业——找“小水王”

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

软件工程课堂训练———找三个小水王

一.题目描述 随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID.据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗? 二.解决思路 沿用上次消除的思想,定义三个计数器和三个嫌疑水王,比较三个ID,如果不相同,就排除,如果相同,那么计数器加一.嫌疑水王ID都与其它水军ID进行抵消最后剩下的就是三个水王. 三.程序代码 // shuiba.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include &q

课堂练习—找水王之小水王

三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该“水王”发帖数目超过了帖子数目的一半. 要求:如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗? 解决方法: 对所面临的问题进行简化,由于“水王”发帖数目超过了帖子数目的一半,由此可以作为突破口,寻找简单的方法,来解决,可以将发帖的ID看成一位数组,简化 为,在一位数组中,查找一半以上相同的元素

随堂练习--找水王2

问题描述: 在上一次练习的基础上,大水王消失了,出现了3个小水王,且每个水王发帖的数量都超过1/4.找出3水王 解决思路: 这1次我们可以通过六个变量来推导出三水王,每两个代表一个水王,其中一个表示 ID,另一个用来使用消除法抵消次数,因为每个水王发帖量都超过1/4,所以一遍运行下来,三水王的ID出现次数都不会被抵消 #include<iostream>#include<string>using namespace std; int main(){    string tieba[