zoukankan      html  css  js  c++  java
  • hihoCoder题目之Magic Box

    #include <iostream>
    #include <cmath>
    #include <cstdio>
    
    using namespace std;
    
    void sort(int * a, int len)//冒泡升序排序
    {
        int i, j, t;
        for(i = 0;i < len-1;i++)
            for(j = 0;j < len-1-i;j++)
                if(a[j] > a[j+1])
                {
                    t = a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
                }
    }
    
    int main()
    {
        freopen("in1.txt", "r", stdin);
        int x, y, z;
        int Cr, Cy, Cb;
        int max_num_ball = 0;//球的最大个数
        int cnt_ball = 0;//当前球的个数
        int a[3];//按照升序存放x, y, z
        int b[3];//按照升序存放|Cr-Cy|, |Cy-Cb|, |Cb-Cr|
        bool a_b_is_same;//判断a数组和b数组是否相同
        Cr = Cy = Cb = 0;
        cin >> x >> y >> z;
        a[0] = x;
        a[1] = y;
        a[2] = z;//数组a初始化
        sort(a, 3);
        char color_ball;
        cin >> color_ball;
        while(!cin.eof())
        {
            switch(color_ball)
            {
                case 'R':
                    Cr++;
                    break;
                case 'Y':
                    Cy++;
                    break;
                case 'B':
                    Cb++;
                    break;
            }
            cnt_ball++;//当前球的个数统计
            b[0] = abs(Cr-Cy);
            b[1] = abs(Cy-Cb);
            b[2] = abs(Cb-Cr);//数组b初始化
            sort(b, 3);
            a_b_is_same = true;
            for(int i = 0;i < 3;i++)
                if(a[i] != b[i])
                    a_b_is_same = false;
            if(cnt_ball > max_num_ball)
                max_num_ball = cnt_ball;//对球数目的最大值进行刷新
            if(a_b_is_same)
            {
                cnt_ball = 0;
                Cr = Cy = Cb = 0;//所有的球消失
            }
            cin >> color_ball;
        }
        cout << max_num_ball << endl;
        return 0;
    }

    这一题总的来说还是挺简单的,我在比较前先排了序,这样比起来就会简单一点,我第一次提交时WA,后来发现是所有球消失时Cr、Cy、Cb没有赋值为0,改了之后就通过了。

  • 相关阅读:
    TCP/IP协议栈与数据包封装+TCP与UDP区别
    MySQL数据库优化总结
    MySQL存储引擎,锁,优化简述
    java实现常见查找算法
    Java的几种常见排序算法
    UML类图学习
    高性能的RTC服务器OpenFire
    常用的设计模式
    Swing JInternalFrame的使用
    Qt 模态与非模态
  • 原文地址:https://www.cnblogs.com/jhssd/p/6852265.html
Copyright © 2011-2022 走看看