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\)的神奇盒子,里面每行每列都至少有一个钻石,问可行的排列方案数.由于答案较大, ...
随机推荐
- ecliplse里tomcat正常启动后http://localhost:8080/报错404
如下图所示,新建一个工作区间,添加tomcat之后通过ecliplse启动tomcat之后: 访问http://localhost:8080/出现404: 解决方法: 1.确保tomcat里面所有项目 ...
- asp手动给combox赋值
ASPxComboBox cbSex = ASPxGridView1.FindEditFormTemplateControl("cmbUSER_SEX") as ASPxCombo ...
- 【转】ASCII码十进制、十六进制对照表
源地址:https://www.baidu.com/link?url=3bScEOF5BVXt7ptGDjBV5JmynXHqEh5lyut1vUx6vEM7qqPY1vtbO22Vvy7xUoFd& ...
- 洛谷P1251 餐巾计划问题(费用流)
传送门 不得不说这题真是思路清奇,真是网络流的一道好题,完全没想到网络流的建图还可以这么建 我们把每一个点拆成两个点,分别表示白天和晚上,白天可以得到干净的餐巾(购买的,慢洗的,快洗的),晚上可以得到 ...
- 洛谷P4013 数字梯形问题(费用流)
传送门 两个感受:码量感人……大佬nb…… 规则一:$m$条路径都不相交,那么每一个点只能经过一次,那么考虑拆点,把每一个点拆成$A_{i,j}$和$B_{i,j}$,然后两点之间连一条容量$1$,费 ...
- php tp5常用小知识
1. tp5 获取当前访问的模块名,控制器名,方法名 $request= \think\Request::instance(); $module = $request->module(); // ...
- iOS开发时间戳与时间NSDate,时区的转换,汉字与UTF8,16进制的转换
http://blog.sina.com.cn/s/blog_68661bd80101njdo.html 标签: ios时间戳 ios开发时间戳 ios16进制转中文 ios开发utf8转中文 ios ...
- EasyUI学习笔记(一)EasyUI入门
一.EasyUI下载 EasyUI官方下载地址:http://www.jeasyui.com/download/index.php,目前最新的版本是:jquery-easyui-1.7.2 解压后得到 ...
- JDK原生的HttpURLConnection请求实例
不想说啥,上代码! package com.my.https; import java.io.BufferedReader; import java.io.IOException; import ja ...
- ubuntu设置静态 ip
查看ip和DNS 终端输入ifconfig获取ip,子网掩码.输入nm-tool获取网关,DNS 修改配置文件/etc/network/interfaces root@ubuntu:~# sudo g ...