hihoCoder题目之Magic Box
#include <iostream>
#include <cmath>
#include <cstdio> using namespace std; void sort(int * a, int len)//冒泡升序排序
{
int i, j, t;
for(i = ;i < len-;i++)
for(j = ;j < len--i;j++)
if(a[j] > a[j+])
{
t = a[j];
a[j] = a[j+];
a[j+] = t;
}
} int main()
{
freopen("in1.txt", "r", stdin);
int x, y, z;
int Cr, Cy, Cb;
int max_num_ball = ;//球的最大个数
int cnt_ball = ;//当前球的个数
int a[];//按照升序存放x, y, z
int b[];//按照升序存放|Cr-Cy|, |Cy-Cb|, |Cb-Cr|
bool a_b_is_same;//判断a数组和b数组是否相同
Cr = Cy = Cb = ;
cin >> x >> y >> z;
a[] = x;
a[] = y;
a[] = z;//数组a初始化
sort(a, );
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[] = abs(Cr-Cy);
b[] = abs(Cy-Cb);
b[] = abs(Cb-Cr);//数组b初始化
sort(b, );
a_b_is_same = true;
for(int i = ;i < ;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 = ;
Cr = Cy = Cb = ;//所有的球消失
}
cin >> color_ball;
}
cout << max_num_ball << endl;
return ;
}
这一题总的来说还是挺简单的,我在比较前先排了序,这样比起来就会简单一点,我第一次提交时WA,后来发现是所有球消失时Cr、Cy、Cb没有赋值为0,改了之后就通过了。
hihoCoder题目之Magic Box的更多相关文章
- 【hihocoder】 Magic Box
题目1 : Magic Box 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 The circus clown Sunny has a magic box. When ...
- 微软2016校园招聘在线笔试之Magic Box
题目1 : Magic Box 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 The circus clown Sunny has a magic box. When ...
- hihocoder 1135 : Magic Box
#1135 : Magic Box 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 The circus clown Sunny has a magic box. Whe ...
- BestCoder Round #25 1002 Harry And Magic Box [dp]
传送门 Harry And Magic Box Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/ ...
- 【hihocoder 1499】A Box of Coins
[题目链接]:http://hihocoder.com/problemset/problem/1499 [题意] [题解] 贪心,模拟; 从左往右对于每一列; 如果上下两个格子; ① 有一个格子超过了 ...
- [HDOJ 5155] Harry And Magic Box
题目链接:HDOJ - 5155 题目大意 有一个 n * m 的棋盘,已知每行每列都至少有一个棋子,求可能有多少种不同的棋子分布情况.答案对一个大素数取模. 题目分析 算法1: 使用容斥原理与递推. ...
- D. Magic Box(几何)
One day Vasya was going home when he saw a box lying on the road. The box can be represented as a re ...
- HDU-5155 Harry And Magic Box
题目描述 在\(n*m\)的矩阵内每一行每一列都有钻石,问钻石分布的种类? 答案有可能很大,所以输出答案对\(1000000007\)取模. Input 对于每个测试用例,有两个整数\(n\)和\(m ...
- [Hdu-5155] Harry And Magic Box[思维题+容斥,计数Dp]
Online Judge:Hdu5155 Label:思维题+容斥,计数Dp 题面: 题目描述 给定一个大小为\(N*M\)的神奇盒子,里面每行每列都至少有一个钻石,问可行的排列方案数.由于答案较大, ...
随机推荐
- 如何处理html中的内联元素之间水平空隙
写HTML时把需要紧挨着的内联元素写在一行,设置其父容器的font-size为0,再设置内联元素的字体大小,例如: <!DOCTYPE html> <html lang=" ...
- python3关于date和time的标准库
python3中关于日期和时间的标准库datetime和time,之前都是用的时候随用随查,今天系统的看一下用这两个库可以做些什么. 1.time标准库 #首先添加一个time对象,看一下该对象的属性 ...
- Java面向对象之多态(向上、向下转型) 入门实例
一.基础概念 多态: 重点是对象的多态性.某一事物的多种体现形态. 多态的作用: 1.提高了代码的扩展性,后期出现的功能,可以被之前的程序所执行. 2.不能使用子类特有的功能.只能使用覆盖父类的功能. ...
- [Swift实际操作]九、完整实例-(1)在iTunesConnect网站中创建产品
本文将通过一个实例项目,演示移动应用开发的所有步骤.首先要做的是打开浏览器,并进入[iTunesConnect网站],需要通过它创建一款自己的应用. 在iTunesConnect的登录页面中,输入自己 ...
- Python实例手册
在电脑中突然发现一个这么好的资料,雪松大神制作,不敢独享,特与大家共享.连他的广告也一并复制了吧! python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 ...
- Pycharm使用的一些问题!!!
1.pycharm如何更改主题.如何更改字体的大小? 2.pycharm如何import第三方库? 1.更改主题和字体大小 主题变暗,字体变大! 2.如何导入第三方库?
- 条目七《如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉》
如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉 在STL中容器是智能的,可以在容器销毁时自动调用容器里对象的析构函数来销毁容器存储的对象. STL的容器虽然比较智能 ...
- 针对animationend和transitionend多次执行的问题解决方案
对于animationend事件来说的话,如果我们在外层添加这个事件监听,如果监听元素里面还有动画,则里面元素动画结束也会执行这个animationend事件.所以我们可以这样做: if(e.targ ...
- apache shiro学习笔记
一.权限概述 1.1 认证与授权 认证:系统提供的用于识别用户身份的功能,通常登录功能就是认证功能-----让系统知道你是谁?? 授权:系统授予用户可以访问哪些功能的许可(证书)----让系统知道你能 ...
- C++_类和动态内存分配5-使用指向对象的指针
再探new和delete new为创建的每一个对象的名称字符串分配存储空间,这是在构造函数中进行的: 析构函数使用delete来释放这些内存. 字符串是一个字符数组,所以析构函数使用的是带中括号的de ...