
ACM题解
文章平均质量分 83
嘻嘻兮
Stay hungry,Stay foolish
展开
-
ACM简单计算题-校门外的树
问题描述 某校大门外长度为 L 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 L 的位置;数轴上的每个整数点,即 0, 1, 2,……, L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区原创 2017-02-04 19:30:19 · 898 阅读 · 0 评论 -
ACM-花生问题
问题描述 鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。 鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图 1)。有经验的多多一眼就能看出,每棵 花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采原创 2017-03-22 00:07:04 · 772 阅读 · 0 评论 -
ACM-大整数乘法
问题描述求两个不超过 200 位的非负整数的积。输入数据有两行,每行是一个不超过200 位的非负整数,没有多余的前导 0。输出要求一行,即相乘后的结果。结果里不能有多余的前导 0,即如果结果是 342,那么就不能输出为 0342。输入样例1234567890098765432100输出样例1219326311原创 2017-03-30 23:07:44 · 2766 阅读 · 0 评论 -
ACM-大整数除法
问题描述 求两个大的正整数相除的商输入数据 第 1 行是测试数据的组数 n,每组测试数据占 2 行,第 1 行是被除数,第 2 行是除数。每组测试数据之间有一个空行,每行数据不超过 100 个字符输出要求 n 行,每组测试数据有一行输出是相应的整数商输入样例32405337312963373原创 2017-04-01 00:23:54 · 1193 阅读 · 0 评论 -
ACM-排列
问题描述 大家知道,给出正整数 n,则 1 到 n 这 n 个数可以构成 n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如 n=3 时,列出 1 2 3, 1 3 2, 2 1 3, 2 3 1, 3 1 2, 3 2 1六个排列。 给出某个排列,求出这个排列的下 k 个排列,如果遇到最后一个排列,则下 1 排列为第1 个排列,即排列 1 2原创 2017-03-25 00:29:17 · 1135 阅读 · 0 评论 -
ACM-生理周期
问题描述 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为 23 天、28 天和 33 天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。对于每个人,我们想知道何时三个高峰落在同一天。对于每个周期,我们会给出从当前年份的第一天开原创 2017-04-10 22:28:52 · 648 阅读 · 0 评论 -
ACM-称硬币
问题描述 赛利有 12 枚银币。其中有 11 枚真币和 1 枚假币。假币看起来和真币没有区别,但是重量不同。但赛利不知道假币比真币轻还是重。于是他向朋友借了一架天平。朋友希望赛利称三次就能找出假币并且确定假币是轻是重。例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的。如果赛利用一枚真币与另一枚银币比较,发现它比真币轻或重,说明它是假币。经过精心安排每次的称量,赛...原创 2017-04-10 23:39:10 · 1703 阅读 · 2 评论 -
ACM-大整数加法
问题描述求两个不超过 200 位的非负整数的和。输入数据有两行,每行是一个不超过 200 位的非负整数,没有多余的前导 0。输出要求一行,即相加后的结果。结果里不能有多余的前导 0,即如果结果是 342,那么就不能输出为 0342。输入样例2222222222222222222233333333333333333333输出样例原创 2017-03-26 23:48:20 · 666 阅读 · 0 评论 -
ACM-完美立方
问题描述 a3 = b3 + c3 + d3 为完美立方等式。例如 123 = 63 + 83 + 103 。编写一个程序,对任给的正整数 N (N≤100),寻找所有的四元组(a, b, c, d),使得 a3 = b3 + c3 + d3,其中 1输入数据 正整数 N (N≤100)输出要求 每行输出原创 2017-04-13 10:17:12 · 791 阅读 · 0 评论 -
ACM-熄灯问题
问题描述 有一个由按钮组成的矩阵,其中每行有 6 个按钮,共 5 行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变 3 盏灯的状态;在矩阵边上的按钮改变 4 盏灯的状态;其他的按钮改变 5 盏灯的状态。在下图 8-1 中,左边矩原创 2017-04-13 16:25:33 · 913 阅读 · 0 评论 -
ACM-讨厌的青蛙
问题描述 在韩国,有一种小的青蛙。每到晚上,这种青蛙会跳越稻田,从而踩踏稻子。农民在早上看到被踩踏的稻子,希望找到造成最大损害的那只青蛙经过的路径。每只青蛙总是沿着一条直线跳越稻田,而且每次跳跃的距离都相同,如图 8-4 所示。 稻田里的稻子组成一个栅格,每棵稻子位于一个格点上,如图 8-5 所示。而青蛙总是从稻田的一侧跳进稻田,然后沿着某条直线穿越稻田,从另一侧跳出去,如图原创 2017-04-14 10:38:51 · 1595 阅读 · 0 评论 -
ACM-二叉树
问题描述 满二叉树 如上图所示,由正整数 1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是 1 的结点)都有一条唯一的路径,比如从 10 到根结点的路径是(10, 5, 2, 1),从 4 到根结点的路径是(4, 2, 1),从根结点 1 到根结点的路径上只原创 2017-04-14 11:23:12 · 925 阅读 · 0 评论 -
ACM-逆波兰表达式
问题描述 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式 2 + 3 的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4 的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括 + - * / 四个。输入数据 输入为一行,其中运算原创 2017-04-14 13:22:35 · 811 阅读 · 0 评论 -
ACM-放苹果
问题描述 把 M 个同样的苹果放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用 K 表示)注意: 5, 1, 1 和 1, 5, 1 是同一种分法。输入数据 第一行是测试数据的数目 t( 0 输出要求 对输入的每组数据 M 和 N,用一行输出相应的 K。输入样例17原创 2017-04-14 14:28:54 · 666 阅读 · 1 评论 -
ACM-显示器
问题描述 你的一个朋友买了一台电脑。他以前只用过计算器,因为电脑的显示器上显示的数字的样子和计算器是不一样,所以当他使用电脑的时候会比较郁闷。为了帮助他,你决定写一个程序把在电脑上的数字显示得像计算器上一样。输入数据 输入包括若干行,每行表示一个要显示的数。每行有两个整数 s 和 n (1 <= s <= 10, 0 <= n <= 99999原创 2017-03-23 23:38:20 · 4145 阅读 · 0 评论 -
ACM-约瑟夫问题
问题描述 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从 1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。输入数据 每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 0 0原创 2017-03-13 23:52:54 · 574 阅读 · 0 评论 -
ACM简单计算题-棋盘上的距离
问题描述国际象棋的棋盘是黑白相间的 8 * 8 的方格,棋子放在格子中间。如下图所示:王、后、车、象的走子规则如下:王:横、直、斜都可以走,但每步限走一格。 后:横、直、斜都可以走,每步格数不受限制。 车:横、竖均可以走,不能斜走,格数不限。 象:只能斜走,格数不限。写一个程序,给定起始位置和目标位置,计算王、后、车、象从起始位置走到目标原创 2017-02-04 18:46:49 · 1490 阅读 · 0 评论 -
ACM简单计算题—鸡兔同笼
问题描述一个笼子里面关了鸡和兔子(鸡有2 只脚,兔子有 4 只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物输入数据第1 行是测试数据的组数 n,后面跟着n 行输入。每组测试数据占 1 行,包括一个正整数a (a 。输出要求n行原创 2017-01-29 13:48:16 · 1373 阅读 · 0 评论 -
ACM简单计算题-填词
问题描述 Alex 喜欢填词游戏。填词游戏是一个非常简单的游戏。填词游戏包括一个 N * M 大小的矩形方格盘和 P 个单词。然后需要把每个方格中填上一个字母使得每个单词都能在方格盘上被找到。每个单词都能被找到要满足下面的条件: 每个方格都不能同时属于超过一个的单词。一个长为 k 的单词一定要占据 k 个方格。单词在方格盘中出现的方向只能是竖直的或者水平的原创 2017-02-04 20:56:05 · 545 阅读 · 0 评论 -
ACM简单计算题-装箱问题
问题描述 一个工厂制造的产品形状都是长方体,它们的高度都是 h,长和宽都相等,一共有六个型号,他们的长宽分别为 1*1, 2*2, 3*3, 4*4, 5*5, 6*6. 这些产品通常使用一个 6*6*h 的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的包裹数量。他们很需要有一个好的程序帮他们解决这个问题从而节省费用。现在这个程序由你来设计。原创 2017-02-05 23:33:23 · 1385 阅读 · 0 评论 -
ACM-487-3279(字符串处理)
问题描述 企业喜欢用容易被记住的电话号码。让电话号码容易被记住的一个办法是将它写成一个容易记住的单词或者短语。例如,你需要给 Waterloo 大学打电话时,可以拨打 TUT-GLOP。有时,只将电话号码中部分数字拼写成单词。当你晚上回到酒店,可以通过拨打 310-GINO来向 Gino's 订一份 pizza。让电话号码容易被记住的另一个办法是以一种好记的方式对号码的数字进行原创 2017-02-20 16:15:17 · 990 阅读 · 0 评论 -
ACM-确定进制(数制转化问题)
问题描述 6*9 = 42 对于十进制来说是错误的,但是对于 13 进制来说是正确的。即, 6(13) * 9(13) =42(13), 而 42(13) = 4 * 131 + 2 * 130 = 54(10)。 你的任务是写一段程序读入三个整数 p、 q和 r,然后确定一个进制 B(2<=B<=16) 使得 p * q = r. 如果 B 有很多选择, 输出最小的一个。例如原创 2017-02-12 15:39:43 · 820 阅读 · 0 评论 -
ACM-统计字符数(字符串处理)
问题描述 判断一个由 a-z 这 26 个字符组成的字符串中哪个字符出现的次数最多 输入:第 1 行是测试数据的组数 n,每组测试数据占 1 行,是一个由 a-z 这 26 个字符组成的字符串,每组测试数据之间有一个空行,每行数据不超过 1000 个字符且非空 输出: n 行,每行输出对应一个输入。一行输出包括出现次数最多的字符和该字符出现的次数原创 2017-02-13 22:14:07 · 977 阅读 · 0 评论 -
ACM-子串(字符串处理)
问题描述 有一些由英文字符组成的大小写敏感的字符串。请写一个程序,找到一个最长的字符串 x,使得:对于已经给出的字符串中的任意一个 y, x 或者是 y 的子串、或者 x 中的字符反序之后得到的新字符串是 y 的子串。输入数据 输入:输入的第一行是一个整数 t (1 输出要求 输出:对于每一组测试数据,输出一行,原创 2017-02-24 12:00:41 · 3323 阅读 · 1 评论 -
ACM-skew数(数制转化问题)
问题描述输入数据输入包含一行或多行,每行包含一个整数 n。 如果 n = 0 表示输入结束,否则 n 是一个 skew 数输出要求对于每一个输入,输出它的十进制表示。转换成十进制后, n 不超过 2的31次-1(2147483647)输入样例101202000000000000000000000000000001010000000000原创 2017-02-12 22:22:08 · 387 阅读 · 0 评论 -
ACM-麦森数
问题描述 形如 2p-1 的素数称为麦森数,这时 P 一定也是个素数。但反过来不一定,即如果 P 是个素数。 2p-1 不一定也是素数。到 1998 年底,人们已找到了 37 个麦森数。最大的一个是P=3021377,它有 909526 位。麦森数有许多重要应用,它与完全数密切相关。 你的任务:输入 P (1000p-1 的位数和最后 500 位数字(原创 2017-04-08 23:18:29 · 588 阅读 · 0 评论 -
ACM-日历问题
问题描述 在我们现在使用的日历中, 闰年被定义为能被 4 整除的年份,但是能被 100 整除而不能被 400 整除的年是例外,它们不是闰年。例如: 1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400 是闰年。 给定从公元 2000 年 1 月 1 日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几。输入数据原创 2017-03-05 23:26:28 · 1199 阅读 · 1 评论 -
ACM-时区间时间的转换
问题描述 直到 19 世纪,时间校准是一个纯粹的地方现象。每一个村庄当太阳升到最高点的时候把他们的时钟调到中午 12 点。一个钟表制造商人家或者村里主表的时间被认为是官方时间,市民们把自家的钟表和这个时间对齐。每周一些热心的市民会带着时间标准的表,游走大街小巷为其他市民对表。在城市之间旅游的话,在到达新地方的时候需要把怀表校准。但是,当铁路投入使用之后,越来越多的人频繁地长距离地原创 2017-03-13 21:13:46 · 2332 阅读 · 0 评论 -
ACM-红与黑
问题描述 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入数据 包括多个数据集合。每个数据集合的第一行是两个整数 W 和 H,分别表示 x 方向和 y 方向瓷砖的数量。 W 和 H 都不超过 20。在接下来的 H 行中,每行原创 2017-04-14 15:23:51 · 1114 阅读 · 0 评论