蓝桥杯准备
蓝桥杯准备
Axelrod Wayne
这个作者很懒,什么都没留下…
展开
-
砝码称重
砝码称重你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数 N。第二行包含 N 个整数:W1,W2,W3,⋅⋅⋅,WN。输出格式输出一个整数代表答案。数据范围对于 50% 的评测用例,1≤N≤15。对于所有评测用例,1≤N≤100,N 个砝码总重不超过 105。输入样例:31 4 6输出样例:10样例解释能称出的 10 种重量是:1、2、原创 2021-05-24 10:56:55 · 443 阅读 · 0 评论 -
倍数问题
倍数问题众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。数据保证一定有解。输入格式第一行包括 2 个正整数 n, K。第二行 n 个正整数,代表给定的 n 个数。输出格式输出一行一个整数代表所求的和。数据范围1≤n≤105,1≤K≤103,给定的 n 个数均不超过 108输入样例:4 31 2转载 2021-03-01 21:23:30 · 573 阅读 · 0 评论 -
修改数组
修改数组给定一个长度为 N 的数组 A=[A1,A2,⋅⋅⋅AN],数组中有可能有重复出现的整数。现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改 A2,A3,⋅⋅⋅,AN。当修改 Ai 时,小明会检查 Ai 是否在 A1∼Ai−1 中出现过。如果出现过,则小明会给 Ai 加上 1;如果新的 Ai 仍在之前出现过,小明会持续给 Ai 加 1,直到 Ai 没有在 A1∼Ai−1 中出现过。当 AN 也经过上述修改之后,显然 A 数组中就没有重复的整数了。现在给定初始的 A 数组,原创 2021-03-01 20:16:31 · 339 阅读 · 0 评论 -
包子凑数
包子凑数小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有 N 种蒸笼,其中第 i 种蒸笼恰好能放 Ai 个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买 X 个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有 X 个包子。比如一共有 3 种蒸笼,分别能放 3、4 和 5 个包子。当顾客想买 11 个包子时,大叔就会选 2 笼 3 个的再加 1 笼 5 个的(也可能选出 1 笼 3 个的再加 2 笼 4 个的)。当然有时包子大叔无论如何也凑不出顾客想买原创 2021-03-01 13:03:42 · 74 阅读 · 0 评论 -
正则问题
正则问题考虑一种简单的正则表达式:只由 x ( ) | 组成的正则表达式。小明想求出这个正则表达式能接受的最长字符串的长度。例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。输入格式一个由x()|组成的正则表达式。输出格式输出所给正则表达式能接受的最长字符串的长度。数据范围输入长度不超过100,保证合法。输入样例:((xx|xxx)x|(x|xx))xx 输出样例:6代码:#include<iostream>#i原创 2021-02-27 16:45:56 · 203 阅读 · 0 评论 -
C 循环
C 循环对于 C 语言的循环语句,形如:for (variable = A; variable != B; variable += C)statement;请问在 k 位存储系统中循环几次才会结束。若在有限次内结束,则输出循环次数。否则输出死循环。输入格式多组数据,每组数据一行四个整数 A,B,C,k。读入以 0 0 0 0 结束。输出格式若在有限次内结束,则输出循环次数。否则输出 FOREVER。数据范围1≤k≤32,0≤A,B,C<2k输入样例:3 3 2 163原创 2021-02-27 16:09:18 · 163 阅读 · 0 评论 -
最大比例
最大比例(辗转相减法)X星球的某个大奖赛设了 M 级奖励。每个级别的奖金是一个正整数。并且,相邻的两个级别间的比例是个固定值。也就是说:所有级别的奖金数构成了一个等比数列。比如:16,24,36,54,其等比值为:3/2。现在,我们随机调查了一些获奖者的奖金数。请你据此推算可能的最大的等比值。输入格式第一行为数字 N ,表示接下的一行包含 N 个正整数。第二行 N 个正整数 Xi,用空格分开,每个整数表示调查到的某人的奖金数额。输出格式一个形如 A/B 的分数,要求 A、B 互质,表原创 2021-02-27 15:46:48 · 210 阅读 · 0 评论 -
等差数列
等差数列数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?输入格式输入的第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,⋅⋅⋅,AN。(注意 A1∼AN 并不一定是按等差数列中的顺序给出)输出格式输出一个整数表示答案。数据范围2≤N≤100000,0≤Ai≤109输入样例:52 6 4 10 20输出样例:10样例解释包含 2、6原创 2021-02-25 10:25:24 · 125 阅读 · 0 评论 -
灵能传输
灵能传输在游戏《星际争霸 II》中,高阶圣堂武士作为星灵的重要 AOE 单位,在游戏的中后期发挥着重要的作用,其技能”灵能风暴“可以消耗大量的灵能对一片区域内的敌军造成毁灭性的伤害。经常用于对抗人类的生化部队和虫族的刺蛇飞龙等低血量单位。你控制着 n 名高阶圣堂武士,方便起见标为 1,2,⋅⋅⋅,n。每名高阶圣堂武士需要一定的灵能来战斗,每个人有一个灵能值 ai 表示其拥有的灵能的多少(ai 非负表示这名高阶圣堂武士比在最佳状态下多余了 ai 点灵能,ai 为负则表示这名高阶圣堂武士还需要 −ai原创 2021-02-25 10:02:05 · 113 阅读 · 0 评论 -
后缀表达式
后缀表达式给定 N 个加号、M 个减号以及 N+M+1 个整数 A1,A2,⋅⋅⋅,AN+M+1,小明想知道在所有由这 N 个加号、M 个减号以及 N+M+1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用 123+−,则 “23+1−” 这个后缀表达式结果是 4,是最大的。输入格式第一行包含两个整数 N 和 M。第二行包含 N+M+1 个整数 A1,A2,⋅⋅⋅,AN+M+1。输出格式输出一个整数,代表答案。数据范围0≤N,M≤105,−109≤原创 2021-02-25 09:14:57 · 165 阅读 · 0 评论 -
乘积最大
乘积最大给定 N 个整数 A1,A2,…AN。请你从中选出 K 个数,使其乘积最大。请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以 1000000009 的余数。注意,如果 X<0, 我们定义 X 除以 1000000009 的余数是负(−X)除以 1000000009 的余数,即:0−((0−x)%1000000009)输入格式第一行包含两个整数 N 和 K。以下 N 行每行一个整数 Ai。输出格式输出一个整数,表示答案。数据范围1≤K≤N≤105,−105原创 2021-02-24 23:45:44 · 326 阅读 · 0 评论 -
付账问题
付账问题几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有 n 个人出去吃饭,他们总共消费了 S 元。其中第 i 个人带了 ai 元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希望在总付钱量恰好为 S 的前提下,最后每个人付的钱的标准差最小。这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不是 1 分钱的整数倍。你需要输出最小的标准差是多少。标准差的介绍:标准差是多个数与它们平均数差值的平方平均数,一般原创 2021-02-24 23:06:39 · 533 阅读 · 1 评论 -
大臣的旅费
大臣的旅费很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大臣,他巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情。他有一个钱袋,用于存放往来城市间的路费。聪明的J发现,如果不在某个城市停下来修整,在连续行原创 2021-02-23 19:11:28 · 58 阅读 · 0 评论 -
全球变暖
全球变暖你有一张某海域 N×N 像素的照片,”.”表示海洋、”#”表示陆地,如下所示:........##.....##........##...####....###........其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:......原创 2021-02-23 11:55:18 · 372 阅读 · 0 评论 -
完全二叉树的权值
完全二叉树的权值给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅AN,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是 1。输入格式第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,⋅⋅⋅AN。输出格式输出一个整数代表答案。数据范围1≤N≤105,−105≤Ai≤105输入样例:71 6原创 2021-02-23 09:47:26 · 226 阅读 · 0 评论 -
交换瓶子
交换瓶子有 N 个瓶子,编号 1∼N,放在架子上。比如有 5 个瓶子:2 1 3 5 4要求每次拿起 2 个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换 2 次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式第一行包含一个整数 N,表示瓶子数量。第二行包含 N 个整数,表示瓶子目前的排列状况。输出格式输出一个正整数,表示至少交换多少次,才能完成排序。数据范围1≤N≤10000,输入样例1:53 1原创 2021-02-22 21:06:59 · 347 阅读 · 0 评论 -
日志统计
日志统计小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 N 行。其中每一行的格式是:ts id表示在 ts 时刻编号 id 的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻 T 满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K 个赞,该帖就曾是”热帖”。给定日志,请你帮助小明统计出所有曾是”热帖”的帖子编号。原创 2021-02-22 16:43:58 · 159 阅读 · 0 评论 -
螺旋折线
螺旋折线对于整点 (X,Y),我们定义它到原点的距离 dis(X,Y) 是从原点到 (X,Y) 的螺旋折线段的长度。例如 dis(0,1)=3,dis(−2,−1)=9给出整点坐标 (X,Y),你能计算出 dis(X,Y) 吗?输入格式包含两个整数 X,Y。输出格式输出一个整数,表示 dis(X,Y)。数据范围−109≤X,Y≤109输入样例:0 1输出样例:3思路:这题的数据范围已经到了10 ^9显然不能直接暴力模拟,需要寻找规律,将所有点按照上下左右四条边的方向来找规律原创 2021-02-22 15:31:30 · 327 阅读 · 0 评论 -
小朋友排队
小朋友排队n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是 0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加 1,如果第二次要求他交换,则他的不高兴程度增加 2(即不高兴程度为 3),依次类推。当要求某个小朋友第 k 次交换时,他的不高兴程度增加 k。请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。如果有两个小朋友身高一样,则他们谁站在谁前面是没原创 2021-02-17 18:59:34 · 257 阅读 · 0 评论 -
外卖店优先级
外卖店优先级“饱了么”外卖系统中维护着 N 家外卖店,编号 1∼N。每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0。每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果优先级小于等于 3,则会被清除出优先缓存。给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优先缓存中。输入格式第一行包含 3 个整数 N,原创 2021-02-16 13:23:11 · 471 阅读 · 0 评论 -
日期问题
日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?输入格式原创 2021-02-15 23:43:35 · 116 阅读 · 0 评论 -
移动距离
移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为 6 时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 …我们的问题是:已知了两个楼号 m 和 n,需要求出它们之间的最短移动距离(不能斜线方向移动)。输入格式输入共一行,包含三个整数 w,m,n,w 为排号宽度,m,n 为待计算的楼号。输出格式输出一个整数,表示 m,n 两楼间最短原创 2021-02-15 23:12:15 · 238 阅读 · 0 评论 -
回文日期
回文日期在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。牛牛习惯用 8 位数字表示一个日期,其中,前 4 位代表年份,接下来 2 位代表月份,最后 2 位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现在,牛牛想知道:在他指定的两个日期之间(包含这两个日期本身),有多少个真实存在的日期是回文的。一个 8 位数字是回文的,当且仅当对于所有的 i(1≤i≤8) 从左向右数的第i个数原创 2021-02-15 15:57:13 · 171 阅读 · 0 评论 -
错误票据
错误票据某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式第一行包含整数 N,表示后面共有 N 行数据。接下来 N 行,每行包含空格分开的若干个(不大于100个)正整数(不大于100000),每个整数代表一个ID号。输出格式要求程原创 2021-02-15 15:28:53 · 101 阅读 · 0 评论 -
特别数的和
特别数的和小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?输入格式共一行,包含一个整数 n。输出格式共一行,包含一个整数,表示满足条件的数的和。数据范围1≤n≤10000输入样例:40输出样例:574代码:#include<iostream>#include<algorithm原创 2021-02-15 15:17:40 · 176 阅读 · 0 评论 -
递增三元组
递增三元组给定三个整数数组A=[A1,A2,…AN],B=[B1,B2,…BN],C=[C1,C2,…CN],请你统计有多少个三元组 (i,j,k) 满足:1≤i,j,k≤NAi<Bj<Ck输入格式第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,…AN。第三行包含 N 个整数 B1,B2,…BN。第四行包含 N 个整数 C1,C2,…CN。输出格式一个整数表示答案。数据范围1≤N≤105,0≤Ai,Bi,Ci≤105输入样例:31 1 12原创 2021-02-15 15:07:56 · 92 阅读 · 0 评论 -
连号区间数
连号区间数小明这些天一直在思考这样一个奇怪而有趣的问题:在 1∼N 的某个排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间 [L,R] 里的所有元素(即此排列的第 L 个到第 R 个元素)递增排序后能得到一个长度为 R−L+1 的“连续”数列,则称这个区间连号区间。当 N 很小的时候,小明可以很快地算出答案,但是当 N 变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入格式第一行是一个正整数 N,表示排列的规模。第二行是 N 个不同的数字 Pi,表示这 N 个数字的某原创 2021-02-15 14:26:09 · 64 阅读 · 0 评论 -
波动数列
波动数列观察这个数列:1 3 0 2 -1 1 -2 …这个数列中后一项总是比前一项增加2或者减少3,且每一项都为整数。栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加 a 或者减少 b 的整数数列可能有多少种呢?输入格式共一行,包含四个整数 n,s,a,b,含义如前面所述。输出格式共一行,包含一个整数,表示满足条件的方案数。由于这个数很大,请输出方案数除以 100000007 的余数。数据范围1≤n≤1000,−109≤s≤109,1≤a,b≤106原创 2021-02-15 13:52:29 · 511 阅读 · 0 评论 -
地宫取宝
地宫取宝X 国王有一个地宫宝库,是 n×m 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是 k 件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这 k 件宝贝。输入格式第一行 3 个整数,n,m,k,含义见题原创 2021-02-14 21:04:35 · 74 阅读 · 0 评论 -
最长上升子序列
最长上升子序列给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数N。第二行包含N个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4对于每一个f[i],都等于前面的各个f[j]+1的最大值(前提是s[j]<s[i]保证是严格单调递增子序列)。不要忘记对于f数组的初始化,每一个都初始化为1(即只有自己本身)代码:#in原创 2021-02-14 20:02:50 · 75 阅读 · 0 评论 -
摘花生
摘花生Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty最多能够摘到多少颗花生。输入格式第一行是一个整数T,代表一共有多少组数据。接下来是T组数据。每组数据的第一行是两个整数,分别代表花生苗的行数R和列数 C。每组数据的接下来R行数原创 2021-02-14 15:47:32 · 65 阅读 · 0 评论 -
01背包问题
01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 5原创 2021-02-14 15:35:59 · 131 阅读 · 0 评论 -
饮料换购
饮料换购乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。输入格式输入一个整数 n,表示初始买入的饮料数量。输出格式输出一个整数,表示一共能够喝到的饮料数量。数据范围0<n<10000输入样例:100输出样例:149代码:#include<iostream>u原创 2021-02-13 19:57:48 · 110 阅读 · 0 评论 -
K倍区间
K倍区间给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai+1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。你能求出数列中总共有多少个 K 倍区间吗?输入格式第一行包含两个整数 N 和 K。以下 N 行每行包含一个整数 Ai。输出格式输出一个整数,代表 K 倍区间的数目。数据范围1≤N,K≤100000,1≤Ai≤100000输入样例:5 212345输出样例:6思路:如果直接暴力二重循环则肯定会超时原创 2021-02-13 18:47:33 · 162 阅读 · 0 评论 -
激光炸弹
激光炸弹地图上有 N 个目标,用整数Xi,Yi表示目标在地图上的位置,每个目标都有一个价值Wi。注意:不同目标可能在同一位置。现在有一种新型的激光炸弹,可以摧毁一个包含 R×R 个位置的正方形内的所有目标。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必须和x,y轴平行。求一颗炸弹最多能炸掉地图上总价值为多少的目标。输入格式第一行输入正整数 N 和 R ,分别代表地图上的目标数目和正方形的边长,数据用空格隔开。接下来N行,每行输入一组数据,每组数据包括三个整原创 2021-02-13 17:44:27 · 114 阅读 · 0 评论 -
分巧克力
分巧克力儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数大小相同例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?输入格式第一行包含两个整数 N 和原创 2021-02-12 20:24:47 · 74 阅读 · 0 评论 -
四平方和
四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去,就正好可以表示为 4 个数的平方和。比如:5=02+02+12+227=12+12+12+22对于一个给定的正整数,可能存在多种平方和的表示法。要求你对 4 个数排序:0≤a≤b≤c≤d并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法。输入格式输入一个正整数 N。输出格式输出4个非负整数,按从小到大排序,中间用空格分开。数据范围0&原创 2021-02-12 20:11:40 · 275 阅读 · 0 评论 -
机器人跳跃问题
机器人跳跃问题机器人正在玩一个古老的基于DOS的游戏。游戏中有N+1座建筑——从0到N编号,从左到右排列。编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位。起初,机器人在编号为0的建筑处。每一步,它跳到下一个(右边)建筑。假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到第k+1个建筑。如果H(k+1)>E,那么机器人就失去H(k+1)-E的能量值,否则它将得到E-H(k+1)的能量值。游戏目标是到达第N个建筑,在这个过程中能量值不能为负数个单位。现在的原创 2021-02-12 18:40:40 · 525 阅读 · 1 评论 -
翻硬币
翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:oo*oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作。输入格式两行等长的字符串,分别表示初始状态和要达到的目标状态。输出格式一个整数,表示最小操作步数数据范原创 2021-01-30 10:50:26 · 94 阅读 · 0 评论 -
带分数
带分数100 可以表示为带分数的形式:100=3+69258714还可以表示为:100=82+3546197注意特征:带分数中,数字 1∼9 分别出现且只出现一次(不包含 0)。类似这样的带分数,100 有 11 种表示法。输入格式一个正整数。输出格式输出输入数字用数码 1∼9 不重复不遗漏地组成带分数表示的全部种数。数据范围1≤N<10^6输入样例1:100输出样例1:11输入样例2:105输出样例2:6思路:题目要求就是把n写成a+b/c的形式,其中原创 2021-01-29 20:26:51 · 311 阅读 · 0 评论