Problem G 宝石合成 (内蒙古14年省赛)
1117: Problem G 宝石合成
时间限制: 1 Sec 内存限制: 128 MB
提交: 18 解决: 4
[提交][状态][讨论版]
题目描写叙述
故事人物:豆豆强 走上致富之路的豆豆强越来越有土豪范,买房买车已经提不起他的兴趣,如今玩起了魔法宝石。
这样的宝石分为不同品质等级,而且3个品质等级为 i 的宝石。能够合成一个品质等级为 i+1 的宝石。
更加奇妙的是,无论这个宝石的品质怎么变,一个宝石永远仅仅占一个单位的空间。 如今豆豆强须要买一个全金打造的保险柜来储存这些宝石。本来对于他这样的土豪来说,这个一点问题都没有。
但是全金的保险柜太重,所以他希望把宝石的体积缩减到最小。在这之前,豆豆强想请你帮他计算一下。这些宝石至少须要多少单位的空间来存储。
输入
第一行有一个正整数T,表示豆豆强要买T次宝石。 接下来 T 次购买,每次购买首先是一个n,表示豆豆强这次要买的宝石种类数。接下n行,每行有两个数a,b, 分别表示宝石的品质和已经买的数量。
限制条件: 1 <= n <= 10000 1 <= a <= 10000 1 <= b <= 10000
输出
对于每次购买,请首先输出一行Case #t:,当中,t表示这是第几次购买。 紧接着一行输出这次购买的宝石至少要占的空间。
例子输入
3
1
111 9
2
111 6
112 1
3
111 3
112 2
113 2
例子输出
Case #1:
1
Case #2:
1
Case #3:
1
内蒙古省赛题。開始做这道题的时候,范围取的小了,导致一直wa。题目给的是10000。開始就等于10000导致一直wa。后来把范围改大就a了,在比赛的时候还是要注意范围问题,这些细节的地方还是要处理好。
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=10500;
int q[maxn];
int main()
{
int t,n,a,b,i,pos,count,k=1;
scanf("%d",&t);
while(t--)
{
count=0;
memset(q,0,sizeof(q));
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d",&a,&b);
q[a]+=b;//先前这里忘记+号了。wa了
}
for(i=1;i<=maxn;i++)
{
q[i+1]=q[i+1]+q[i]/3;//这样的合并的方式还算是比較巧妙
q[i]=q[i]%3;
pos=i+1;
while(q[pos]>=3)
{
q[pos+1]=q[pos+1]+q[pos]/3;
q[pos]=q[pos]%3;
pos++;
}
if(q[i]!=0)
count+=q[i];
}
printf("Case #%d:\n%d\n",k++,count);
}
return 0;
}
Problem G 宝石合成 (内蒙古14年省赛)的更多相关文章
- 【贪心+中位数】【新生赛3 1007题】 Problem G (K)
Problem G Time Limit : 4000/2000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Sub ...
- Problem G: If We Were a Child Again
Problem G: If We Were a Child AgainTime Limit: 1 Sec Memory Limit: 128 MBSubmit: 18 Solved: 14[Submi ...
- Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem G. k-palindrome dp
Problem G. k-palindrome 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c7022 ...
- 实验9:Problem G: 克隆人来了!
想要输出""的话: cout<<"A person whose name is \""<<name<<" ...
- 实验12:Problem G: 强悍的矩阵运算来了
这个题目主要是乘法运算符的重载,卡了我好久,矩阵的乘法用3个嵌套的for循环进行,要分清楚矩阵的乘法结果是第一个矩阵的行,第二个矩阵的列所组成的矩阵. 重载+,*运算符时,可以在参数列表中传两个矩阵引 ...
- 烟大 Contest1024 - 《挑战编程》第一章:入门 Problem G: Check The Check(模拟国际象棋)
Problem G: Check The Check Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 10 Solved: 3[Submit][Statu ...
- The Ninth Hunan Collegiate Programming Contest (2013) Problem G
Problem G Good Teacher I want to be a good teacher, so at least I need to remember all the student n ...
- Problem G: Keywords Search
Problem G: Keywords SearchTime Limit: 1 Sec Memory Limit: 128 MBSubmit: 10 Solved: 6[Submit][Status] ...
- BZOJ4977 八月月赛 Problem G 跳伞求生 set 贪心
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4977 - 八月月赛 Problem G 题意 小明组建了一支由n名玩家组成的战队,编号依次为1到n ...
随机推荐
- WebService开发-Hessian
Hessian 开发Web Service 一.关于Hessian Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI的功能. 相比WebService,He ...
- Java中last_insert_id的使用
last_insert_id的作用是:在当前表中的主键是自增时,插入一条新记录的同时使用last_insert_id可以获取当前的新记录的主键id. 下面是一个例子: import java.sql. ...
- html与css命名规范小结
一.命名规则说明 所有的命名最好都用小写 使用英文命名 给每一个表格和表单加上一个唯一的.结构标记id 给每个图片加上alt标签,优点在于图片发生错误时,alt可以体现给用户 二.相对网页外层重要部分 ...
- Ubuntu16下安装lamp
1.安装php7 sudo apt-get install php7.0 php7.0-mcrypt 2.安装MySQL sudo apt-get install mysql-server 输入 su ...
- C语言笔记(二)
注释 编译器会用空格代替代码中原来的注释,并先于预处理指令执行/*…*/ 这种形式的注释不能嵌套只要斜杠(/)和星号(*)之间没有空格,都会被当作注释的开始.例如这样:y = x/*p; \ 是一个接 ...
- Assembly之instruction之CMP
CMP[.W] Compare source and destinationCMP.B Compare source and destination Syntax CMP src,dst or ...
- 使用Ajax验证用户名
Ajax是一项很重要的技术,下面简要举个例子,来解释如何使用Ajax.步骤如下:使用Ajax验证用户名使用文本框的onBlur事件 使用Ajax技术实现异步交互创建XMLHttpRequest对象通过 ...
- swift里 as、as!、as?区别 T.Type与动态类型
as 1.编译器进行类型转换合法性检查:静态 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: shoppingLi ...
- 团体程序设计天梯赛-练习集-L1-041. 寻找250
L1-041. 寻找250 对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字. 输入格式: 输入在一行中给出不知道多少个绝对值不超过1000的整数,其中 ...
- 机器学习K-Means
1.K-Means聚类算法属于无监督学习算法. 2.原理:先随机选择K个质心,根据样本到质心的距离将样本分配到最近的簇中,然后根据簇中的样本更新质心,再次计算距离重新分配簇,直到质心不再发生变化,迭代 ...