hihocoder-1135-Magic Box

Posted 0_summer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hihocoder-1135-Magic Box相关的知识,希望对你有一定的参考价值。

三种颜色的球一次放入盒子,当数量差满足x,y,z时盒子中的球的个数清零,求盒子中出现数量最多的球的个数

数据范围:球的数量<=20000

分析:直接跟踪一遍放入球的过程,判断是否满足x,y,z,并更新答案

注意:在for循环中是当满足条件是更新答案,退出循环后还要更新一遍答案,这是最后一轮的盒子中剩下的球的数量

 1 #include<iostream>
 2 #include<cstring>
 3 #include<string>
 4 #include<cmath>
 5 #include<vector>
 6 #include<algorithm>
 7 using namespace std;
 8 
 9 int x,y,z;
10 string s;
11 
12 bool chk(int a,int b,int c)
13 {
14     int u=abs(a-b);
15     int v=abs(a-c);
16     int t=abs(b-c);
17     if(u==x&&v==y&&t==z) return true;
18     if(u==x&&v==z&&t==y) return true;
19     if(u==y&&v==x&&t==z) return true;
20     if(u==y&&v==z&&t==x) return true;
21     if(u==z&&v==x&&t==y) return true;
22     if(u==z&&v==y&&t==x) return true;
23     return false;
24 }
25 
26 int main()
27 {
28     while(cin>>x>>y>>z){
29         cin>>s;
30         int cr=0,cb=0,cy=0;
31         int sum=0;
32         int ans=0;
33         for(int i=0;i<s.size();i++){
34             sum++;
35             if(s[i]==R) cr++;
36             else if(s[i]==B) cb++;
37             else cy++;
38             if(chk(cr,cb,cy)){
39                 ans=max(ans,sum);
40                 sum=0;
41                 cr=cb=cy=0;
42             }
43         }
44         ans=max(ans,sum);
45         cout<<ans<<endl;
46     }
47 }

 

以上是关于hihocoder-1135-Magic Box的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu Box上的应用程序分析[关闭]

传智官网

Java分代垃圾回收机制:年轻代/年老代/持久代(转)

R留学生作业代码代写代编程代编程代编程

IPEX-1代/3代/4代/5代,PCB天线底座,公头,样式及封装尺寸图

JVM 年轻代 老年代 持久代 gc