试题 算法提高 陶陶摘苹果 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已知n个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目.假设她碰到苹果,苹果就会掉下来. 输入格式 输入包括两行数据.第一行只包括两个正整数n(5<=n<=200)和m(10…
试题 算法提高 进攻策略加强 问题描述 植物大战僵尸这款游戏中,还有一个特别的玩儿法:玩家操纵僵尸进攻植物. 首先,僵尸有m种(每种僵尸都是无限多的),玩家可以选择合适的僵尸来进攻.使用第i种僵尸需要花费Wi资源,可以得到Pi的攻击效果.在这里,我们认为多个僵尸总的攻击效果就是他们每个攻击效果的代数和. 地图共有n行,对于第i行,最左端有若干植物,这些植物需要至少Qi的攻击才能被全部消灭.若一行上的植物全部被消灭,我们称这一行被攻破. 由于资源紧张,你只有总量为K的资源,不一定能够攻破所有行.但…
试题 算法提高 小X的购物计划 问题描述 小X打算去超市shopping.小X没什么钱,只有N元.超市里有M种物品,每种物品都需要money,在小X心中有一个重要度.有的物品有无限件,有的物品只有几件.小X想让他买的物品重要度之和最大,请问这个和最大是多少? 输入格式 第一行为两个整数N,M. 以下M行,每行包含三个整数P,R,C,分别表示价格.重要度和个数.若C为-1则表示无限件. 输出格式 输出只有一行,即题目中要求的最大和. 样例输入 2 10 3 7 2 2 4 -1 样例输出 22 数…
试题 算法提高 天天向上 问题描述 A同学的学习成绩十分不稳定,于是老师对他说:"只要你连续4天成绩有进步,那我就奖励给你一朵小红花."可是这对于A同学太困难了.于是,老师对他放宽了要求:"只要你有4天成绩是递增的,我就奖励你一朵小红花."即只要对于第i.j.k.l四天,满足i<j<k<l并且对于成绩wi<wj<wk<wl,那么就可以得到一朵小红花的奖励.现让你求出,A同学可以得到多少朵小红花. 输入格式 第一行一个整数n,表示总…
试题 算法提高 欧拉函数 问题描述 老师出了一道难题,小酱不会做,请你编个程序帮帮他,奖金一瓶酱油: 从1-n中有多少个数与n互质? |||||╭══╮ ┌═════┐ ╭╯让路║═║酱油专用车║ ╰⊙═⊙╯ └══⊙═⊙═(坑爹的题面格式化,害得我用'|'来代替空格,复制到记事本上看就变成正版的了) 输入格式 输入共一行,表示一个整数n. 输出格式 输出共一行,表示从1-n中与n互质的数的个数. 样例输入 30 样例输出 8 数据规模和约定 60%的数据≤10^6 100%的数据≤2*10^9…
试题 算法提高 计算超阶乘 问题描述 计算1*(1+k)(1+2k)(1+3k)-(1+n*k-k)的末尾有多少个0,最后一位非0位是多少. 输入格式 输入的第一行包含两个整数n, k. 输出格式 输出两行,每行一个整数,分别表示末尾0的个数和最后一个非0位. 样例输入 15 2 样例输出 0 5 数据规模和约定 1<=k<=10,1<=n<=1000000. PS: 在计算的过程中就把末尾的0删掉 import java.util.Scanner; public class Ma…
算法提高 线段和点 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 有n个点和m个区间,点和区间的端点全部是整数,对于点a和区间[b,c],若a>=b且a<=c,称点a满足区间[b,c]. 求最小的点的子集,使得所有区间都被满足. 输入格式 第一行两个整数n m 以下n行 每行一个整数,代表点的坐标 以下m行 每行两个整数,代表区间的范围 输出格式 输出一行,最少的满足所有区间的点数,如无解输出-1. 样例输入 5 5 2 6 3 8 7 2 5 3 4 3 3 2 7 6…
算法提高 P1003 时间限制:1.0s 内存限制:256.0MB 作为一名网络警察,你的任务是监视电子邮件,看其中是否有一些敏感的关键词.不过,有些狡猾的犯罪嫌疑人会改变某些单词的字母顺序,以逃避检查.请编写一个程序,发现这种调整过顺序的关键词.程序的输入有两行,第一行是关键词列表,第二行是待检查的句子.程序的输出为在该句子中所找到的经过顺序调整的关键词.(单词全部为小写,单词之间以一个空格分隔,每一行的单词个数不限) 输入: guns mines missiles aameric ssell…
**算法提高 8皇后·改** 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大. 输入格式 一个8*8的棋盘. 输出格式 所能得到的最大数字和 样例输入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45…
试题 算法提高 高精度减法 问题描述 高精度减法 输入格式 两行,表示两个非负整数a.b,且有a > b. 输出格式 一行,表示a与b的差 样例输入 1234567890987654321 9999 样例输出 1234567890987644322 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s…
试题 算法提高 分解质因数 问题描述 给定一个正整数n,尝试对其分解质因数 输入格式 仅一行,一个正整数,表示待分解的质因数 输出格式 仅一行,从小到大依次输出其质因数,相邻的数用空格隔开 样例输入 100 样例输出 2 2 5 5 数据规模和约定 n<=2147483647 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(S…
试题 算法提高 八数码 问题描述 RXY八数码 输入格式 输入两个33表格 第一个为目标表格 第二个为检索表格 输出格式 输出步数 样例输入 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 0 8 样例输出 1 数据规模和约定 33*2 PS: 花里胡哨得,直接套代码搜 import java.util.*; public class Main { static int[]dx = {0,0,1,-1}; static int[]dy = {1,-1,0,0}; static i…
试题 算法提高 转圈游戏 问题描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,-,依此类 推. 游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小 伙伴走到第 m+1 号位置,-,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第 n-m+1 号位置上的小伙伴走到第 1 号位置,-,第 n-1 号位置上的小伙伴顺时…
试题 算法提高 Substrings 问题描述 You are given a number of case-sensitive strings of alphabetic characters, find the largest string X, such that either X, or its inverse can be found as a substring of any of the given strings. 输入格式 The first line of the input…
试题 算法提高 矩阵乘法 问题描述 小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器. 输入格式 输入的第一行包含三个正整数N,M,K,表示一个NM的矩阵乘以一个MK的矩阵.接下来N行,每行M个整数,表示第一个矩阵.再接下来的M行,每行K个整数,表示第二个矩阵. 输出格式 输出有N行,每行K个整数,表示矩阵乘法的结果. 样例输入 2 1 3 1 2 1 2 3 样例输出 1 2 3 2 4 6 数据规模和约定 0<N,M,K<=100, 0<=矩…
试题 算法提高 歌唱比赛 问题描述 X市正在进行歌唱比赛,请你写一个程序计算得分. 每名选手从1到N编号,每名选手的综合成绩由以下几个部分组成: 1.歌唱得分占70% 2.才艺展示得分占20% 3.观众投票得分占10% 4.不超过五分的特殊加分(如果总分超过100分则记为100) 输入格式 第一行一个整数N,表示选手人数 接下来N行,每行四个整数,分别表示歌唱得分,才艺得分,投票得分和加分. 输出格式 输出N行,每行一个数,表示得分(保留一位小数) 样例输入 6 62 50 60 1 77 71…
试题 算法提高 特等奖学金 问题描述 土豪大学每年都会给学生颁发巨额的特等奖学金,当然,获奖的前提是要足够优秀.这所大学有n名学生,他们中的每个人都会在m门必修课的每门课上获得一个百分制的整数成绩(0-100),到了期末教务长会获得所有学生在所有必修课上的成绩报告,他会从中挑选出最优秀的k位学生,并给他们颁发奖学金. 教务长认为,某个学生只要有一门课不及格(分数<85),他就丧失了获得奖学金的资格.教务长会给所有科目按照重要性排序,在所有拥有获得奖学金资格的学生中,教务长更喜欢在更重要的科目中取…
试题 算法提高 GPA 问题描述 输入A,B两人的学分获取情况,输出两人GPA之差. 输入格式 输入的第一行包含一个整数n表示A的课程数,以下n行每行Si,Ci分别表示第i个课程的学分与A的表现. GPA=Σ(Si*Ci) / Σ(Si). 特殊地,如果Ci是'P'或者'N'(对应于通过与不通过),则第i个课程不记入GPA的计算(即当其不存在). A读入结束后读入B,B的输入格式与A相同. 保证2人的Σ(Si)非零 输出格式 输出A的GPA - B的GPA的值,保留2位小数(四舍五入) Tips…
试题 算法提高 套正方形 问题描述 给定正方形边长width,如图按规律输出层层嵌套的正方形图形. 注意,为让选手方便观看,下图和样例输出均使用""代替空格,请选手输出的时候使用空格而不是"". width=6: ****** *____* *_**_* *_**_* *____* ****** 输入格式 仅一行一个整数width. 输出格式 按规律输出图形,不要输出多余空格. 样例输入 10 样例输出 ********** *________* *_******_…
试题 算法提高 抽卡游戏 某个抽卡游戏卡池抽出限定卡的概率为p,该游戏有一个"井"的机制,抽满k次卡后直接送这张限定卡.试求获得这张限定卡需要的期望抽卡次数.输入为一行,用空格隔开的p和k.输出为一行,即期望抽卡次数,取2位小数 样例输入 0.005 250 样例输出 142.88 样例说明 第1次抽到的概率为0.005 第2次抽到的概率为(1-0.005)*0.005 第n次抽到的概率为(1-0.005)^(n-1)*0.005 第250抽到的概率为之前都没有抽到的概率,即(1-0.…
试题 算法提高 菱形 请编程输出一个菱形.输入为菱形中心到顶点的距离 样例输入 2 样例输出 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.close(); char[][] map = new char[n+1][2*n+1]; for (int…
试题 算法提高 字符串匹配 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时,表示同一个字母的大写和小写看作相同的字符. 输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成. 第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感. 第三行包含一个整数n,表示给出的文字的行数. 接下来n行,每行包含一个字符串,字符串由大…
算法提高 求最大值 时间限制:1.0s 内存限制:256.0MB 问题描述 给n个有序整数对ai bi,你需要选择一些整数对 使得所有你选定的数的ai+bi的和最大.并且要求你选定的数对的ai之和非负,bi之和非负. 输入格式 输入的第一行为n,数对的个数 以下n行每行两个整数 ai bi 输出格式 输出你选定的数对的ai+bi之和 样例输入 5 -403 -625 -847 901 -624 -708 -293 413 886 709 样例输出 1715 数据规模和约定 1<=n<=100…
算法提高 P0102 时间限制:1.0s 内存限制:256.0MB 提交此题 用户输入三个字符,每个字符取值范围是0-9,A-F.然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出,十六进制表示成3位,八进制表示成4位,若不够前面补0.(不考虑输入不合法的情况) 输入 1D5 输出 (注意冒号后面有一个空格) Hex: 0x1D5 Decimal: 469 Octal: 0725 import java.util.Scanner; public class P0…
算法提高 概率计算 时间限制:1.0s 内存限制:256.0MB 问题描述 生成n个∈[a,b]的随机整数,输出它们的和为x的概率. 输入格式 一行输入四个整数依次为n,a,b,x,用空格分隔. 输出格式 输出一行包含一个小数位和为x的概率,小数点后保留四位小数 样例输入 2 1 3 4 样例输出 0.3333 数据规模和约定 对于50%的数据,n≤5. 对于100%的数据,n≤100,b≤100. import java.io.IOException; import java.util.Sca…
算法提高 日期计算 时间限制:1.0s 内存限制:256.0MB 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情况. 输入格式 输入只有一行 YYYY MM DD 输出格式 输出只有一行 W 数据规模和约定 1599 <= YYYY <= 2999 1 <= MM <= 12 1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期 1 <= W <…
算法提高 判断名次 时间限制:1.0s 内存限制:256.0MB 问题描述 某场比赛过后,你想要知道A~E五个人的排名是什么,于是要求他们每个人说了一句话.(经典的开头---_-!)得了第1名的人23,说了假话:得了第5名的人不好意思,也说了假话:为了使求解问题简单,第3名同样说了假话.(奇数名次说假话) 输入格式 共5行,各行依次表示A~E说的话. 每行包含一个形如"A>=3"的名次判断,即一个大写字母+关系运算符+一个数字,不包含空格. 大写字母AE,关系运算<.<…
算法提高 01背包 时间限制:1.0s 内存限制:256.0MB 问题描述 给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个. 输入格式 输入的第一行包含两个整数n, m,分别表示物品的个数和背包能装重量. 以后N行每行两个数Wi和Vi,表示物品的重量和价值 输出格式 输出1行,包含一个整数,表示最大价值. 样例输入 3 5 2 3 3 5 4 7 样例输出 8 数据规模和约定 1<=N<=200,M<=5000. im…
算法提高 学霸的迷宫 时间限制:1.0s 内存限制:256.0MB 问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫.因为班长还有妹子要陪,磨刀不误砍柴功,他为了节约时间,从线人那里搞到了迷宫的地图,准备提前计算最短的路线.可是他现在正向妹子解释这件事情,于是就委托你帮他找一条最短的路线. 输入格式 第一行两个整数n, m,为迷宫的长宽. 接下来n行,每行m个数,数之间没有间…
算法提高 周期字串 时间限制:1.0s 内存限制:256.0MB 问题描述 右右喜欢听故事,但是右右的妈妈总是讲一些"从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?从前有座山--"这样循环的故事来搪塞右右. 我们定义,如果一个字符串是以一个或者一个以上的长度为k的重复字符串所连接成的,那么这个字符串就叫做周期为k的串. 例如: 字符串'abcabcabcabc'周期为3,因为它是由4个循环'abc'组成的.它同样是以6为周期(两个重复的'abcabc')和以12为周…