zoukankan      html  css  js  c++  java
  • 课堂练习——找水王

    一、题目要求:

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

    二、设计思想:

      借助消消乐的思想,每次删除两个不同的ID,不管删除的ID是否包含“水王”,在剩下的ID中水王仍然占一半以上,就这样进行循环删除,删除到最后就得到结果了。

    三、源代码:

    #include "stdafx.h"
    #include<iostream.h>
    #include "stdlib.h"
    int curId=0; 
    int count=0; 
    void FindSW(int array[],int n) 
    { 
        for (int i=0;i<n;i++)   
        {   
            if (count==0)  
            {   
                count++;
                curId=array[i];
            }   
            else  
            {   
                if(curId==arr[i]) 
                    count++;   
                else         
                    count--;  
            }   
        }   
    }   
    int main() 
    { 
        int n;  
        int * arr=new int[n]; 
        cout<<"请输入帖子总数:"; 
        cin>>n; 
        cout<<"请输入每个水军的ID:"<<endl; 
        for(int i=0;i<n;i++) 
        { 
            cin>>arr[i]; 
        } 
        FindId(arr,n); 
        cout<<"水王的ID是:"<<curId<<endl;; 
        return 0;
    } 

    四、结果截图

    五、实验总结:

      拿到一个题目最重要的是你的编程思路,你要有自己的思想,就这个题吧,刚开始我们想的都很复杂,但是后来在老师的指引下我们想到了消消乐的玩法,这就给解题带来了很大的方便。

  • 相关阅读:
    Docker搭建redis集群
    PHP中的OPCode和OPCache
    Redis的三种集群模式
    MySQL事务的隔离级别
    Docker镜像分层技术
    为什么 MongoDB 选择B树,Mysql 选择B+树?
    MongoDB的使用
    cesium+vue挖坑展示
    Ceium+Vue踩坑记录
    渲染总结——记录
  • 原文地址:https://www.cnblogs.com/hushunli/p/4451947.html
Copyright © 2011-2022 走看看