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\)的神奇盒子,里面每行每列都至少有一个钻石,问可行的排列方案数.由于答案较大, ...
随机推荐
- 基于matlab的FIR加窗滤波器设计
1.确定参数: Wp 通带截止频率 Ws 阻带截止频率 As 衰减dB Rp 纹波dB 2.根据参数确定理想 频率响应 (M (Wp + Ws )/2 ) 双边响应 3.选窗 过滤带 ...
- 洛谷P3254 圆桌问题(最大流)
传送门 一道良心啊……没那么多麻烦了…… 从$S$向所有单位连边,容量为单位人数,从所有桌子向$T$连边,容量为桌子能坐的人数,从每一个单位向所有桌子连边,容量为$1$,然后跑一个最大流,看一看$S$ ...
- SimpleDateFormat线程不安全及解决办法
原文链接:https://blog.csdn.net/csdn_ds/article/details/72984646 以前没有注意到SimpleDateFormat线程不安全的问题,写时间工具类,一 ...
- 181114socke编程
一.Socket Families 地址簇 socket.AF_UNIX socket.AF_INET socket.AF_INET6 二.Socker Types socket.SOCK_STREA ...
- 启动Tomcat报错
如果发现引入jar包有问题时,看jar包是否损坏,变成了0kb.如果是这样,在网上试尽解决办法也是有问题的. 一般Tomcat启动报错,要引入这两个jar包.
- CentOS 中安装 jdk
1.检查是否安装jdk rpm -qa|grep jav [root@hadoop110 opt]# rpm -qa|grep java 2.卸载版本地域1.7 的jdk rpm -e 软件包 [r ...
- 移动像素的px ,dp/pt,dpr的关系
一:基础知识 px:逻辑像素,浏览器使用的抽象单位 dp,pt:设备无关像素 也叫物理像素 dpr:devicePixelRatio 设备像素缩放比 计算公式:1px=(dpr)^2*dp; ipho ...
- LeetCode8. 字符串转整数 (atoi)
8. 字符串转整数 (atoi) 描述 实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连 ...
- 洛谷 P1453 城市环路 ( 基环树树形dp )
题目链接 题目背景 一座城市,往往会被人们划分为几个区域,例如住宅区.商业区.工业区等等.B市就被分为了以下的两个区域--城市中心和城市郊区.在着这两个区域的中间是一条围绕B市的环路,环路之内便是B市 ...
- hdu6437 Videos 费用流
题目传送门 题目大意: 给出n,每天有n个小时.有m种电影,每个电影有开始时间和结束时间,和01两种种类,k个人,每一部电影只能被一个人看,会获得一个快乐值wi,如果一个人连续看两部相同种类的电影,快 ...