07 2013 档案
摘要:题目来源:http://poj.org/problem?id=1029题目大意: 与1013有一些相似之处。有N枚硬币,其中有一枚假币,重量与别的不同。现有一个精准天平。为了找出假币,我们把所有硬币编号1到N。每次在天平两端放等数目的硬币进行称量。每次称量的结果都被记录下来。写一个程序来找出那没假币。输入:第一行中,第一个数N(2':左边重 '=':两边一样重输出:找到的假币编号。若找不到,输出0.Sample Input5 32 1 2 3 4 8 9 using namespace std; 10 11 int main() { 12 int N; 13 in...
阅读全文
摘要:题目来源:http://poj.org/problem?id=1028题目大意: 模拟实现一个浏览器的“前进”和“回退”功能。由一个forward stack和一个backward stack实现。 打开浏览器时的正位于http://www.acm.org/。然后浏览器会接受下面四种命令: BACK:将当前页面压入forward stack,将backward stack顶部页面弹出,成为当前页面。若当前backward stack为空,忽略该命令; FORWARD:将当前页面压入backward stack,将forward stack顶部的页面弹出,作为当前页面。若当前forwar...
阅读全文
摘要:题目来源:http://poj.org/problem?id=1027题目大意: 题目说的就是现在蛮流行的手机小游戏popstar,求用贪心方法能得到多少分。 小球有三种颜色:R/G/B。横向、纵向相连的同色小球可以同时被消掉。消掉一些小球后,首先空格上面的小球会下落,填补空白,然后如果中间出现空的列,则空列右侧的小球左移,填补空列。 当m个球被消掉时,奖分(m-2)^2,若所有球都被消掉,奖分1000.贪心策略是每次选择消去连在一起数目最多的球。当有多个时,找最左最下的球所在的那一群。输入:第一行为测试用例数。每个用例由一系列字符串组成,表示初始时小球的分布。输出:每步选择的小球,每步...
阅读全文
摘要:题目来源:http://poj.org/problem?id=1026题目大意: Bob和Alice使用了一种全新的编码方式进行通信。密钥是一组整数序列:a1,a2,...,an,每个数都大于0,小于等于n.编码方式为:第i个字符换至ai位置处。然后得到的编码再编码一次,如此重复k次。信息的长度小于等于n,如果程度小于n,则后面用空格补齐。写一个程序读入编码规则和待编码字符串,输出编码结果。输入:若干块数据组成,每块一个测试用例,第一行为串长n(1 8 #include 9 #include 10 11 using namespace std;12 13 int key[201];14 i..
阅读全文
摘要:题目来源:http://poj.org/problem?id=1025题目大意: 有一些特工,在一天里要访问一座大楼。这座大楼里有10层,每层10个房间(按xxyy编号每个房间,xx为楼层,yy为房间号)和1个电梯。每个特工要按顺序访问一些特定的房间,并在各个房间里待一段时间。每个特工在一天的某个时间点到达大楼的1层,然后需要30s的时间进行登记之类的活动。到达30s后可以到达一楼的电梯或到达他想要去的位于1楼的房间门口。大楼的电梯每5s一班,每上升一层或下降一层需要30s。出于安全考虑,每个房间和每层的电梯都同时只运行一个人在内。当有多人在电梯或房间门口需要进入时需要排队。每个特工都有一个.
阅读全文
摘要:题目来源:http://poj.org/problem?id=1024题目大意: 有一个迷宫,迷宫的起点在(0,0)处。给定一条路径,和该迷宫墙的设置,要求验证该路径是否为唯一的最短路径,该种墙的设置中是否存在多于的墙,可结合图进行理解。 输入:第一行制定测试用例数。每个测试用例的第一行为两个正整数,指明迷宫的长和宽。接下来是给定的最短路径,用由L(左)R(右)U(上)D(下)组成的字符串表示。然后输入一个正整数m表示墙的个数。后接m行,每行四个整数,前两个整数和后两个整数分别组成两个坐标,表示该面墙把这两个点之间的路径隔断。输出:若符合条件输出CORRECT否则输出INCORRECT。Sa.
阅读全文
摘要:题目来源:http://poj.org/problem?id=1023题目大意: 有一种有趣的数字系统。类似于我们熟知的二进制,区别是每一位的权重有正有负。(低位至高位编号0->k,第i位的权值为2^i 或-2^i)输入:第一行给定测试用例数。每个用例的第一行为一个正整数k(1 8 #include 9 10 using namespace std;11 12 int main() {13 int ncase;14 cin >> ncase;15 for (int caseNo = 1; caseNo > k;18 char s[64];19 ...
阅读全文
摘要:题目来源:http://poj.org/problem?id=1022题目大意: 有一些4维的单位体积的立方体盒子,每个立方体有8个面。要用一个大的4为盒子将它们包起来,求最小的大盒子体积。输入:第一行为测试用例数。每个用例的第一行为单位立方体数目n。接下来的n行每行为一个立方体的信息。每行第一个数字为还立方体的编号,接下来的8个整数分别为对应面相邻的立方体的编号。该面没有邻居则为0.(给出的都是单一刚体。)输出:最小的能把这个由小4D立方体拼起来的形状的盒子的体积。Sample Input191 2 3 4 5 6 7 8 92 0 1 0 0 0 0 0 03 1 0 0 0 0 0 0.
阅读全文
摘要:题目来源:http://poj.org/problem?id=1021题目大意: 有一种在棋盘上玩的游戏,每一步,一个玩家可以从棋盘上拿走连续行或列的棋子。谁拿到最后一颗棋子就胜利。如下图所示的棋盘,玩家可以拿走(A), (B), (A, B), (A, B, C), 或 (B,F),等,但不能拿走(A, C), (D, E), (H, I) 或(B, G)。 仔细看上面两个棋盘,会发现其实他们是等价的。左边棋盘的取胜策略也可以用到右边的棋盘上。两盘棋子的连续块的形状是等价的,可以通过旋转、镜像和平移进行映射。程序的任务是判断两个棋盘是否等价。输入:第一行为测试用例数。每个测试用例的第一行..
阅读全文
摘要:题目来源:http://poj.org/problem?id=1020题目大意:有一块边长为s的正方形大蛋糕,有n个客人,每个客人想分一块边长为si的正方形蛋糕。求这块大蛋糕能否恰好满足所有客人的需求而不浪费。输入:第一行为测试用例数。接下来每行的第一个数位大蛋糕的边长,第二个数位客人的数目n,接下来的n个数为每个客人想要的蛋糕的边长。输出:若能恰好分完输出“KHOOOOB!”,否则输出“HUTUTU!”Sample Input24 8 1 1 1 1 1 3 1 15 6 3 3 2 1 1 1Sample OutputKHOOOOB!HUTUTU!一开始用贪心方法做,即从大块的开始切,总是
阅读全文
摘要:题目来源:http://poj.org/problem?id=1019题目大意: 给定一个正整数i,写一个程序,求序列S1S2...Sk中的第i位(digit)。其中Sk为正整数序列1到k连接起来。例如,前80个数位的序列如下:11212312341234512345612345671234567812345678912345678910123456789101112345678910。输入:第一行表示有多少个测试用例。接下来的每行为一个正整数,即给出的i(1 ≤ i ≤ 2147483647).输出:每行对应一个输入,为求得的第i位数字Sample Input283Sample Outpu.
阅读全文
摘要:题目来源:http://poj.org/problem?id=1018题目大意: 某通讯公司想做一个特殊的通讯系统。该系统由若干个设备组成。每个设备我们可以自由选择不同的生产厂商。每个厂商生产的同一种设备的价格和带宽不同。系统的总带宽(B)是选择的所有设备的最小带宽,总价格(P)是所有设备的价格之和。目标是为每个设备选择一个厂商,使得总的B/P最大。输入:第一行一个整数代表测试用例个数。每个用例输入的第一个整数为设备数n(1 8 #include 9 10 using namespace std; 11 12 //带宽、价格对 13 class BV { 14 public: 15...
阅读全文
摘要:题目来源:http://poj.org/problem?id=1017题目大意: 某工厂有不同型号的货物要装箱。所有货物的高度都为h,底面大小分别为1*1,2*2,3*3,4*4,5*5,6*6.这些货物都要被装进高为h,底面6*6的盒子中。工厂希望用最少数目的箱子打包所有的货物。输入:由多组数据组成,每行一组。各数分别表示1*1,2*2,3*3,4*4,5*5,6*6货物的个数。6个0代表结束。输出:每行对应一个输入,输出一个整数,表示需要的最少的箱子数。Sample Input0 0 4 0 0 1 7 5 1 0 0 0 0 0 0 0 0 0 Sample Output2 1模拟水过.
阅读全文
摘要:题目来源:http://poj.org/problem?id=1016题目大意: 对一个非负整数定义一种运算(inventory):数这个数中各个数字出现的次数,然后按顺序记录下来。比如“5553141”有2个1,1个3,一个4,3个5,于是运算后为“21131435”,对于这种运算有的数字有着有趣的性质:如“31123314”,它运算后的结果和它本身是一样的(self-inventorying)。如果做j次inventory运算后,第j次迭代的结果是self-inventorying的,则称这个数是j步后self-inventory.此外,如果n进行j次迭代后,再进行k(k>=2)次迭
阅读全文
摘要:题目来源:http://poj.org/problem?id=1015题目大意: 有一个国家,法庭的判决由公众中选出的陪审团来进行。每进行一次审讯,就要选出一个陪审团。陪审团人选的选取规则如下:首先,从所有人中随机选取一些人。对于选中的这些人,控方和辩方给每个人打一个分(0到20)来表达他们是否喜欢这个人。0表示完全不喜欢,20表示特别喜欢。基于控方和辩方的两个打分,法官希望选出的陪审团对双方都最公平有利。用di表示辩方给候选人i的打分,pi表示控方给i的打分,现在要从n个候选人中选出m个人成为陪审团。用J表示{1,...,n}的一个m个元素的子集,D(J)表示sum(dk),k属于J,P(.
阅读全文
摘要:题目来源:http://poj.org/problem?id=1014题目大意: Marsha和Bill拥有一些弹珠。但是这些弹珠的价值不一样。每个弹珠的价值都是1到6之间的自然数。他们希望把这些弹珠分为两份,每份的总价值相等。然而,有时候是不存在这样的划分的(即使总的价值为偶数)。比如弹珠的价值分别为1,3,4,4.写一个程序判断一些弹珠是否可以被分为价值相等的两份。输入:每行代表一个测试用例,含6个非负整数。n1,...n6.ni表示价值为i的弹珠有多少个。测试用例最多20000个。输入以“0 0 0 0 0 0”结束。输出:对于每个用例,若可分,输出:"Collection #
阅读全文
摘要:题目来源:http://poj.org/problem?id=1013题目大意:有12枚硬币,其中有一枚假币。所有钱币的外表都一样,所有真币的重量都一样,假币的重量与真币不同,但我们不知道假币的重量是比真币轻还是重。现在有一个很准确的天平,我们可以用这个天平称3次来找到那枚假币。只要仔细选择三次称的方式,总可以再三次之内找出那枚假币。输入:第一行一个正整数n表示样例个数。接下来每三行为一个测试样例。每行为一次称的结果。每枚硬币被编号为A--L。称量的结果有三种,分别用“up”、“down”和“even”表示。第一个字符串表示天平左边的硬币,第二个字符串表示右边的硬币。左边和右边的硬笔数总是相等
阅读全文
摘要:题目来源:http://poj.org/problem?id=1012题目大意:求解约瑟夫环问题(1-n个人站成一个圈,选择一个数k,首先从1开始数,第k个人被处决,然后再从下一个人开始数,第k个人被处决,如此循环)。假设环中由k个好人和k个坏人,前k为好人,后k为坏人。找出最小的m使得在有好人被处决前所有坏人都被处决掉。输入:每行1个k(0 8 9 using namespace std;10 11 int result[13];12 int k, m;13 14 //检验m是不是k的解15 bool isSolution(int k, int m) {16 int lastKi...
阅读全文
摘要:题目来源:http://poj.org/problem?id=1011题目大意:George有一些等长的木棍,他把这些木棍随机地砍断,砍断后的木棍最多50单位长。现在他想把木棍拼回原来的长度,但他已经忘记了原来有多少根木棍和原来的木棍有多长。请帮他设计一个程序计算原始木棍的最小长度。所有木棍的长度都是正整数单位长度。输入:含多个数据块,每个数据块为一个测试用例,第一行为一个整数,表示砍断后有多少根木棍,最大为64.第二行为每根木棍的长度,以空格分开。输入的最后一行为0。输出:每个测试用例对应一行,含一个整数:最小的可能原始木棍长度。Sample Input95 2 1 5 2 1 5 2 14
阅读全文
摘要:题目来源:http://poj.org/problem?id=1010题目大意: 某邮局要设计新的邮资管理软件,依据顾客的需要和现有的面值给顾客分派邮票。 该邮局有很多顾客是集邮爱好者。这些人希望得到最多种类不同的邮票。该邮局会发行同一面值的不同邮票。邮票的面值最大为25. 为节约成本,邮局希望尽可能少的重复邮票。(他们希望发行尽可能多的不同种类的邮票)。而且,邮局对一个客户一次最多卖4张邮票。输入:程序的输入是多组两行的数据。以EOF结束。第一行是现有的邮票的面值,以0结束。第二行是一系列的客户需求。输出:对于每一个客户,输出“最好”的邮票组合(邮票种类数最多)。面值和恰好为客户的需要...
阅读全文
摘要:题目来源:http://poj.org/problem?id=1009题目大意: 某图像公司用run length encoding(RLE)的方式记录和存储了大量的图像。程序的目标是读入压缩后的图像,对图像进行边缘检测,然后输出另一幅压缩后的图片。具体形式见下面的图片和描述。 一种最简单的边缘检测算法就是使输出图片像素点的值为输入图片中该像素点与其周围像素点值之间差值的最大值。考虑下面的例子:Output image中左上角的像素点的值是|15-15|,|15-100|和|15-100|的最大值85.第4行第2列的像素点值是|175-100|,|175-100|,|175-100|,|1..
阅读全文
摘要:题目来源:http://poj.org/problem?id=1008题目大意: Maya人认为一年有365天,但他们有两种日历。一种叫做Haab,有19个月。前18个月每月20天,每个月的名字分别为:pop, no, zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh, mac, kankin, muan, pax, koyab, cumhu.每个月里的天分别用0到19编号。Haab的最后一个月叫做uayet,这个月只有五天,编号为0,1,2,3,4.Maya人认为这个月是不吉利的。 还有一种旧的日历,叫做Tzolkin,这种日历..
阅读全文
摘要:题目来源:http://poj.org/problem?id=1007题目大意: 有一种“无序度”(unsortedness)为:在一个序列中,大小关系与位置关系不符的元素对的个数。例如:字母序列“DAABEC”的无序度为5.因为D比它后面的4个字母大,E比它后面的一个字母大。这种未排序度的名称叫逆序对。序列“AACEDGG”只有一个逆序对(E和D),它是几乎有序的。而“ZWQM”有6个逆序对,是完全逆序的。 你的任务是对一些DNA序列进行排序。序列仅含四种字母:A、C、G、T,然后不是按字典序排序,而是按无序度排序,从“最有序”至“最无序”。所有的字符串的长度相等。输入:第一行是两个正整..
阅读全文
摘要:题目来源:http://poj.org/problem?id=1006题目大意: 有人认为人的一生中自TA出生开始有三种周期。这三种周期分别是生理周期,情绪周期和智力周期。他们的周期长度分别是23天、28天和33天。每个周期中有一个峰值。每个周期取得峰值时人在这个方面的表现最佳。 这三个周期有着不同的周期长度,所以三个周期的峰值出现的时间通常也不相同。我们希望找出一个人“三峰值点”(三个周期同时出现峰值的时间)。 对于每个人,你将知道该人今年里每个周期的峰值的一次出现时间(离今年开始的天数,不一定是第一次出现的时间)。你还会知道一个日期(也是离今年开始的天数),任务是求出给定的该日期后出...
阅读全文
摘要:题目来源:http://poj.org/problem?id=1005题目大意: Fred Mapper考虑在路易斯安那州买一块地来建房子。在调查的过程中,他得知由于密西西比河的侵蚀,路易斯安那州的土地正在以50平方英里的速度退缩。Fred希望能在他新建的房子中度过余生,所以他需要知道他买的土地是否会被侵蚀掉。 Fred做了一些调查后得知,正在被侵蚀的土地形成一个半圆形,半圆以(0,0)为圆心,被X轴平分,X轴以下为水面。半圆在第1年时面积为0.(半圆如图所示)输入:第一行为一个正整数表示有多少个数据集(N)。接下来的N行每行含一个X和一个Y表示Fred在考虑的土地位置的笛卡尔坐标。X和Y..
阅读全文
摘要:题目来源:http://poj.org/problem?id=1004题目大意: Larry今年毕业并找到了工作。他开始赚很多的钱,然而他似乎总觉得不够。Larry决定好好掌控他的资产,解决他的财务问题。第一步就是找出他的钱到底发生了什么。Larry有一个银行账户,他希望知道他有多少钱。帮助Larry写一个程序,读入他过去12个月里每个月结束时的账户余额,计算出他每月平均账户余额。(实质就是求12个数的平均数。)输入:由12行组成,每行一个正的浮点数,计到小数点后两位。表示每月结束时的账户余额,不含dollar符号。输出:输出为1个浮点数,即每月平均账户余额,采用四舍五入,保留2为小数。以d.
阅读全文
摘要:题目来源:http://poj.org/problem?id=1003题目大意: 将一叠卡片堆放在桌边。如果有一张卡片,你可以最多让卡片的一半悬于桌边外。(假设卡片总是与桌边垂直的。)当有两张卡时,你可以让上面的一张卡片有一半悬于底下的卡片之外,下面的卡片则有1/3悬于桌外。故悬于桌外的卡片长度和为1/2 + 1/3 = 5/6.当有你张卡片时,总的悬于桌外的长度和最大为1/2 + 1/3 + 1/4 + ... + 1/(n - 1).其中,最顶端的卡片外悬1/2,第二张外悬1/3,第三张外悬1/4...最底部的一张外悬1/(n+1).如下图所示:输入:有多组测试样例组成,每行包含一个正的.
阅读全文
摘要:题目来源:http://poj.org/problem?id=1002题目大意: (背景)企业喜欢容易被人记住的电话号码。使一个电话号码容易被记住的一种方法是让它“拼”(spell)出来是一个好记的单词或短语(与手机键盘上的字母联系起来)。比如,你可以拨打好记的TUT-GLOP打电话给滑铁卢大学。有时,也可以只让号码的一部分拼成一个单词。当你晚上回到宾馆,你可以拨打310-GINO从Gino's订一份披萨。另一种让号码好记的方式是将号码分成好记的组。比如,你可以打“3个10”电话3-10-10-10订必胜客的pizza。 电话号码的标准形式是一个7位的十进制数字,前三位与后四位之间用短
阅读全文
摘要:题目来源:http://poj.org/problem?id=1001题目大意:给出一个0.0至99.999 之间的实数R和一个1至25之间的整数,求Rn。输入:一组R和n,每行的第1行至第6列为R,第8列至第9列为n。输出:每行表示一个Rn的实际值。Sample Input95.123 120.4321 205.1234 156.7592 998.999 101.0100 12Sample Output548815620517731830194541.899025343415715973535967221869852721.000000051485546410769561219945112.
阅读全文

浙公网安备 33010602011771号