算法提高 三角形面积 时间限制:1.0s 内存限制:256.0MB 问题描述 由三角形的三边长,求其面积. 提示:由三角形的三边a,b,c求面积可以用如下的公式: s=(a+b+c)/2 输入格式 由空格分开的三个整数. 输出格式 一个实数,保留两位小数. 样例输入 3 4 5 样例输出 6.00 数据规模和约定 输入的三条边一定能构成三角形,不用进行判定.a,b,c小于1000 import java.util.Scanner; public class 三角形面积 { public stat…
算法提高 勾股数 时间限制:1.0s 内存限制:256.0MB 问题描述 勾股数是一组三个自然数,a < b < c,以这三个数为三角形的三条边能够形成一个直角三角形 输出所有a + b + c <= 1000的勾股数 a小的先输出:a相同的,b小的先输出. 输出格式 每行为一组勾股数,用空格隔开 样例输出 例如,结果的前三行应当是 3 4 5 5 12 13 6 8 10 public class 勾股数 { public static void main(String[] args)…
目录 1 问题描述 2 解决方案   1 问题描述 问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫.因为班长还有妹子要陪,磨刀不误砍柴功,他为了节约时间,从线人那里搞到了迷宫的地图,准备提前计算最短的路线.可是他现在正向妹子解释这件事情,于是就委托你帮他找一条最短的路线. 输入格式 第一行两个整数n, m,为迷宫的长宽. 接下来n行,每行m个数,数之间没有间隔,为0或1中的…
目录 1 问题描述 2 解决方案   1 问题描述 问题描述 给n个有序整数对ai bi,你需要选择一些整数对 使得所有你选定的数的ai+bi的和最大.并且要求你选定的数对的ai之和非负,bi之和非负. 输入格式 输入的第一行为n,数对的个数 以下n行每行两个整数 ai bi 输出格式 输出你选定的数对的ai+bi之和 样例输入 5-403 -625-847 901-624 -708-293 413886 709 样例输出 1715 数据规模和约定 1<=n<=100 -1000<=ai…
目录 1 问题描述 2 解决方案   1 问题描述 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最少需要多少次运算. 两个大小分别为p*q和q*r的矩阵相乘时的运算次数计为p*q*r. 输入格式 输入的第一行包含一个整数n,表示矩阵的个数. 第二行包含n+1个数,表示给定的矩阵. 输出格式 输出一个整数,表示最少的运算次数. 样例输入 31 10 5 20 样例输出 150 数据规模和约定 1<…
算法提高 聪明的美食家 时间限制:1.0s 内存限制:256.0MB 问题描述 如果有人认为吃东西只需要嘴巴,那就错了. 都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况).具体而言,如果是甜食,当你吃的食物不如前面刚吃过的东西甜,就很不爽了. 大宝是一个聪明的美食家,当然深谙此道.一次他来到某小吃一条街,准备从街的一头吃到另一头.为了吃得爽,他大费周章,得到了各种食物的"美味度".他拒绝不爽的经历,不走回头路而且还要爽歪…
算法提高 计算器 时间限制:1.0s 内存限制:256.0MB [问题描述] 王小二的计算器上面的LED显示屏坏掉了,于是他找到了在计算器维修与应用系学习的你来为他修计算器. 屏幕上可以显示0~9的数字,其中每个数字由7个小二极管组成,各个数字对应的表示方式如图所示: 为了排除电路故障,现在你需要计算,将数字A变为数字B需要经过多少次变换? 注意:现在将其中每段小二极管的开和关都定义为一次变换.例如数字1变为2是5次操作. [输入格式] 第一行为一个正整数L,表示数码的长度. 接下来两行是两个长…
算法提高 质数的后代 时间限制:1.0s 内存限制:256.0MB 问题描述 在上一季里,曾提到过质数的孤独,其实从另一个角度看,无情隔膜它们的合数全是质数的后代,因为合数可以由质数相乘结合而得. 如果一个合数由两个质数相乘而得,那么我们就叫它是质数们的直接后代.现在,给你一系列自然数,判断它们是否是质数的直接后代. 输入格式 第一行一个正整数T,表示需要判断的自然数数量 接下来T行,每行一个要判断的自然数 输出格式 共T行,依次对于输入中给出的自然数,判断是否为质数的直接后代,是则输出Yes,…
算法提高 邮票面值设计 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤13)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值MAX,使在1-MAX之间的每一个邮资值都能得到. 例如,N=3,K=2,如果面值分别为1分.4分,则在1分-6分之间的每一个邮资值都能得到(当然还有8分.9分和12分):如果面值分别为1分.3分,则在1分-7分之间的每一个邮资值都能得到.可以验证当N=3,K=2时,7分就是可…
算法提高 彩票 时间限制:1.0s 内存限制:256.0MB 问题描述 为丰富男生节活动,贵系女生设置彩票抽奖环节,规则如下: 1.每张彩票上印有7个各不相同的号码,且这些号码的取值范围为[1, 33]: 2.每次在兑奖前都会公布一个由七个互不相同的号码构成的中奖号码: 3.共设置7个奖项,特等奖和一等奖至六等奖.兑奖规则如下: 特等奖:要求彩票上的7个号码都出现在中奖号码中: 一等奖:要求彩票上的6个号码出现在中奖号码中: 二等奖:要求彩票上的5个号码出现在中奖号码中: -- 六等奖:要求彩票…
算法提高 3000米排名预测 时间限制:1.0s 内存限制:256.0MB 问题描述 3000米长跑时,围观党们兴高采烈地预测着最后的排名.因为他们来自不同的班,对所有运动员不一定都了解,于是他们分别对自己了解的一些运动员的实力作出了评估,即对部分运动员做了相对排名的预测,并且告诉了可怜留守的班长.因为无聊,于是他们就组团去打Dota去了.比赛结束后他们向班长询问最后的排名,但班长不记得了,只记得他们中哪些人的预测是正确的,哪些人的预测是错误的.他们想知道比赛的排名可能是什么. 输入格式 第一行…
算法提高 任意年月日历输出 时间限制:1.0s 内存限制:512.0MB 已知2007年1月1日为星期一. 设计一函数按照下述格式打印2007年以后(含)某年某月的日历,2007年以前的拒绝打印. 为完成此函数,设计必要的辅助函数可能也是必要的.其中输入为年分和月份. 样例输入: 2007 1 样例输出: Calendar 2007-01 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2…
算法提高 洗牌 时间限制:1.0s 内存限制:256.0MB 问题描述 小弱T在闲暇的时候会和室友打扑克,输的人就要负责洗牌.虽然小弱T不怎么会洗牌,但是他却总是输. 渐渐地小弱T发现了一个规律:只要自己洗牌,自己就一定会输.所以小弱T认为自己洗牌不够均匀,就独创了一种小弱洗牌法. 小弱洗牌法是这样做的:先用传统洗牌法将52张扑克牌(1到K各四张,除去大小王)打乱,放成一堆,然后每次从牌堆顶层拿一张牌.如果这张牌的大小是P(1到K的大小分别为1到13),那么就把这张牌插入到当前手中第P张牌的后面…
  算法提高 棋盘多项式   时间限制:1.0s   内存限制:256.0MB 棋盘多项式 问题描述 八皇后问题是在棋盘上放皇后,互相不攻击,求方案.变换一下棋子,还可以有八车问题,八马问题,八兵问题,八王问题,注意别念反.在这道题里,棋子换成车,同时棋盘也得换,确切说,是进行一些改造.比如现在有一张n*n的棋盘,我们在一些格子上抠几个洞,这些洞自然不能放棋子了,会漏下去的.另外,一个车本来能攻击和它的同行同列.现在,你想想,在攻击的过程中如果踩到一个洞,便会自取灭亡.故,车的攻击范围止于洞.…
试题 算法提高 研究兔子的土豪 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 某天,HWD老师开始研究兔子,因为他是个土豪 ,所以他居然一下子买了一个可以容纳10^18代兔子的巨大笼子(好像比我们伟大的地球母亲大一点点?),并开始研究它们,之后,他了解了兔子的繁衍规律:即fibonacci数列. 兔子繁殖了n代后,HWD老师很开心. 但是,HWD老师有密集恐惧症,所以,他只能去卖了兔子,他找到了一个好的雇主,但是这个雇主有强迫症,他只每次收购1007只兔子,HWD老师为了避免…
算法提高 P0402 时间限制:1.0s 内存限制:256.0MB 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第十天早上想在吃时就只剩下一个桃子了.求第一天共摘了多少桃子. (下面的不是正确答案) 输出: 8 public class p0402 { public static void main(String[] args) { // TODO Auto-generated met…
算法提高 3-2求存款 时间限制:1.0s 内存限制:256.0MB 问题描述 见计算机程序设计基础(乔林)P50第5题. 接受两个数,一个是用户一年期定期存款金额,一个是按照百分比格式表示的利率,计算一年期满后的本金与利息总额.说明:(1) 存款金额以人民币元为单位,精确到分:(2) 输入利率时不输入百分号,例如利率为3.87%,用户直接输入3.87:(3) 按照国家法律,存储利息所得需缴纳5%的所得税,计算结果时应当扣除所得税.(4) 显示的结果精确到人民币分. 注意:数据须用float表示…
算法提高 3-3求圆面积表面积体积 时间限制:1.0s 内存限制:256.0MB 问题描述 接受用户输⼊的数值,输出以该值为半径的(1)圆面积,(2)球体表面积,(3)球体体积.pi 取值3.1415926536 ,结果保留10位小数,每一列占20个字符,左对齐. 样例输入 一个满足题目要求的输入范例. 例: 1 样例输出 与上面的样例输入对应的输出. 例:(第一行1是输入,第二行是输出) 数据规模和约定 所有结果在double类型的表示范围内. import java.util.Scanner…
算法提高 5-3日历 时间限制:1.0s 内存限制:256.0MB 问题描述 已知2007年1月1日为星期一.设计一函数按照下述格式打印2007年以后(含)某年某月的日历,2007年以前的拒绝打印.为完成此函数,设计必要的辅助函数也是必要的. 样例输入 一个满足题目要求的输入范例. 例: 2050 3 样例输出 与上面的样例输入对应的输出. 例: 数据规模和约定 输入数据中每一个数的范围. 例:年 2007-3000,月:1-12. import java.util.Scanner; publi…
算法提高 11-2删除重复元素 时间限制:10.0s 内存限制:256.0MB 问题描述 为库设计新函数DelPack,删除输入字符串中所有的重复元素.不连续的重复元素也要删除. 要求写成函数,函数内部使用指针操作. 样例输入 1223445667889 样例输出 13579 样例输入 else 样例输出 ls 数据规模和约定 字符串数组最大长度为100. import java.util.Scanner; public class 删除重复元素 { public static void mai…
算法提高 P0401 时间限制:1.0s 内存限制:256.0MB 输入一个无符号整数x,输出x的二进制表示中1的个数. 输入: 76584 输出: 7 import java.util.Scanner; public class P0401 { public static void main(String[] args) { Scanner sc =new Scanner(System.in); String n = sc.next(); String s = Integer.toString…
算法提高 理财计划 时间限制:1.0s 内存限制:256.0MB 问题描述 银行近期推出了一款新的理财计划"重复计息储蓄".储户只需在每个月月初存入固定金额的现金,银行就会在每个月月底根据储户账户内的金额算出该月的利息并将利息存入用户账号.现在如果某人每月存入k元,请你帮他计算一下,n月后,他可以获得多少收益. 输入格式 输入数据仅一行,包括两个整数k(100<=k<=10000).n(1<=n<=48)和一个小数p(0.001<=p<=0.01),…
算法提高 解二元一次方程组 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个二元一次方程组,形如: a * x + b * y = c; d * x + e * y = f; x,y代表未知数,a, b, c, d, e, f为参数. 求解x,y 输入格式 输入包含六个整数: a, b, c, d, e, f; 输出格式 输出为方程组的解,两个整数x, y. 样例输入 例: 3 7 41 2 1 9 样例输出 例: 2 5 数据规模和约定 0 <= a, b, c, d, e,…
算法提高 陶陶摘苹果2 时间限制:1.0s 内存限制:256.0MB 问题描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已知n个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度.假设她碰到苹果,苹果就会掉下来.请帮陶陶算一下,经过她的洗劫后,苹果树上还有几个苹果. 输入格式 输入包括两行数据.第一行只包括两个正整数n(5<=n<=200)和m(6…
算法提高 质因数2 时间限制:1.0s 内存限制:256.0MB 将一个正整数N(1<N<32768)分解质因数,把质因数按从小到大的顺序输出.最后输出质因数的个数. 输入格式 一行,一个正整数 输出格式 两行,第一行为用空格分开的质因数 第二行为质因数的个数 样例输入 66 样例输出 2 3 113 样例输入 90 样例输出 2 3 3 5 4 样例输入 37 样例输出 37 1 import java.util.Scanner; public class 质因数2 { public sta…
算法提高 前10名 时间限制:1.0s 内存限制:256.0MB 问题描述 数据很多,但我们经常只取前几名,比如奥运只取前3名.现在我们有n个数据,请按从大到小的顺序,输出前10个名数据. 输入格式 两行. 第一行一个整数n,表示要对多少个数据 第二行有n个整数,中间用空格分隔.表示n个数据. 输出格式 一行,按从大到小排列的前10个数据,每个数据之间用一个空格隔开. 样例输入 26 54 27 87 16 63 40 40 22 61 6 57 70 0 42 11 50 13 5 56 7…
算法提高 扫雷 时间限制:1.0s 内存限制:256.0MB 问题描述 扫雷游戏你一定玩过吧!现在给你若干个n×m的地雷阵,请你计算出每个矩阵中每个单元格相邻单元格内地雷的个数,每个单元格最多有8个相邻的单元格. 0<n,m<=100 输入格式 输入包含若干个矩阵,对于每个矩阵,第一行包含两个整数n和m,分别表示这个矩阵的行数和列数.接下来n行每行包含m个字符.安全区域用'.'表示,有地雷区域用''表示.当n=m=0时输入结束. 输出格式 对于第i个矩阵,首先在单独的一行里打印序号:"…
算法提高 连接乘积 时间限制:1.0s 内存限制:256.0MB 问题描述 192这个数很厉害,用它分别乘以1.2.3,会得到: 192 x 1 = 192 192 x 2 = 384 192 x 3 = 576 把这三个乘积连起来,得到192384576,正好是一个1~9的全排列 我们把上面的运算定义为连接乘积: m x (1 - n) = k(其中m > 0 且 n > 1,对于上例,m = 192.n = 3.k = 192384576) 即k是把m分别乘以1到n的乘积连接起来得到的,则…
算法提高 师座操作系统 时间限制:1.0s 内存限制:256.0MB 问题描述 师座这天在程序设计课上学了指针和结构体以后,觉得自己可以轻松的写出操作系统,为了打败大微软帝国,他给这个系统起了个响亮的名字"操师座系统",你是师座手下的首席架构师,被要求写这个操作系统的文件系统部分,要求如下: 这个文件系统有的所有文件都有一个独一无二的文件名,除此之外分为两类文件,一类文件是数据存储文件,它可以存储一个字符串信息,另一类文件是快捷方式,它会指向另一个文件,有可能是数据块也有可能是快捷方式…
算法提高 盾神与砝码称重 时间限制:1.0s 内存限制:256.0MB 提交此题 查看参考代码 问题描述 有一天,他在宿舍里无意中发现了一个天平!这个天平很奇怪,有n个完好的砝码,但是没有游码.盾神为他的发现兴奋不已!于是他准备去称一称自己的东西.他准备好了m种物品去称.神奇的是,盾神一早就知道这m种物品的重量,他现在是想看看这个天平能不能称出这些物品出来.但是盾神稍微想了1秒钟以后就觉得这个问题太无聊了,于是就丢给了你. 输入格式 第一行为两个数,n和m. 第二行为n个数,表示这n个砝码的重量…