算法提高 数的划分 时间限制:1.0s 内存限制:256.0MB 问题描述 一个正整数可以划分为多个正整数的和,比如n=3时: 3:1+2:1+1+1: 共有三种划分方法. 给出一个正整数,问有多少种划分方法. 输入格式 一个正整数n 输出格式 一个正整数,表示划分方案数 样例输入 3 样例输出 3 数据规模和约定 n<=100 import java.util.Scanner; public class 数的划分 { public static void main(String[] args)…
[题目描述] 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5: 1,5,1: 5,1,1: 问有多少种不同的分法. 输出一个整数,即不同的分法. [输入] 两个整数n,k(6<n≤200,2≤k≤6),中间用单个空格隔开. [输出] 一个整数,即不同的分法. [输入样例] 7 3 [输出样例] 4 还有一种动态规划写法,见下 import java.util.ArrayList; import java.util…
算法提高 产生数 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15). 规则: 一位数可变换成另一个一位数: 规则的右部不能为零. 例如:n=234.有规则(k=2): 2-> 5 3-> 6 上面的整数 234 经过变换后可能产生出的整数为(包括原数): 234 534 264 564 共 4 种不同的产生数 问题: 给出一个整数 n 和 k 个规则. 求出: 经过任意次的变换(0次或多次),能产生出多少个…
试题 算法提高 研究兔子的土豪 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 某天,HWD老师开始研究兔子,因为他是个土豪 ,所以他居然一下子买了一个可以容纳10^18代兔子的巨大笼子(好像比我们伟大的地球母亲大一点点?),并开始研究它们,之后,他了解了兔子的繁衍规律:即fibonacci数列. 兔子繁殖了n代后,HWD老师很开心. 但是,HWD老师有密集恐惧症,所以,他只能去卖了兔子,他找到了一个好的雇主,但是这个雇主有强迫症,他只每次收购1007只兔子,HWD老师为了避免…
算法提高 扫雷 时间限制:1.0s 内存限制:256.0MB 问题描述 扫雷游戏你一定玩过吧!现在给你若干个n×m的地雷阵,请你计算出每个矩阵中每个单元格相邻单元格内地雷的个数,每个单元格最多有8个相邻的单元格. 0<n,m<=100 输入格式 输入包含若干个矩阵,对于每个矩阵,第一行包含两个整数n和m,分别表示这个矩阵的行数和列数.接下来n行每行包含m个字符.安全区域用'.'表示,有地雷区域用''表示.当n=m=0时输入结束. 输出格式 对于第i个矩阵,首先在单独的一行里打印序号:"…
算法提高 师座操作系统 时间限制:1.0s 内存限制:256.0MB 问题描述 师座这天在程序设计课上学了指针和结构体以后,觉得自己可以轻松的写出操作系统,为了打败大微软帝国,他给这个系统起了个响亮的名字"操师座系统",你是师座手下的首席架构师,被要求写这个操作系统的文件系统部分,要求如下: 这个文件系统有的所有文件都有一个独一无二的文件名,除此之外分为两类文件,一类文件是数据存储文件,它可以存储一个字符串信息,另一类文件是快捷方式,它会指向另一个文件,有可能是数据块也有可能是快捷方式…
算法提高 文化之旅 时间限制:1.0s 内存限制:128.0MB 问题描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化的国家对其他文化的看法不同,有些文化会排斥外来文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家). 现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这位使者游历的起点和终点(在起点和终点也会学…
算法提高 数字黑洞 时间限制:1.0s 内存限制:256.0MB 问题描述 任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数: 2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位): 3)求两个数的差,得到一个新的四位数(高位零保留). 重复以上过程,最后一定会得到的结果是6174. 比如:4312 3087 8352 6174,经过…
算法提高 高精度乘法 时间限制:1.0s 内存限制:256.0MB 问题描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263.要想计算更加规模的数,就要用软件来扩展了,比如用数组或字符串来模拟更多规模的数及共运算. 现在输入两个整数,请输出它们的乘积. 输入格式 两行,每行一个正整数,每个整数不超过10000位 输出格式 一行,两个整数的乘积. 样例输入 99 101 样例输出 9999 数据规模和约定 每个…
算法提高 现代诗如蚯蚓 时间限制:1.0s 内存限制:256.0MB 问题描述 现代诗如蚯蚓 断成好几截都不会死 字符串断成好几截 有可能完全一样 请编写程序 输入字符串 输出该字符串最多能断成多少截完全一样的子串 输入格式 一行,一个字符串 输出格式 一行,一个正整数表示该字符串最多能断成的截数 样例输入 abcabcabcabc 样例输出 4 样例说明 最多能断成四个"abc",也就是abc重复四遍便是原串 同时也能断成两个"abcabc" 最坏情况是断成一个原…
算法提高 能量项链 时间限制:1.0s 内存限制:256.0MB 问题描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记.因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量.如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,…
算法提高 超级玛丽 时间限制:1.0s 内存限制:256.0MB 问题描述 大家都知道"超级玛丽"是一个很善于跳跃的探险家,他的拿手好戏是跳跃,但它一次只能向前跳一步或两步.有一次,他要经过一条长为n的羊肠小道,小道中有m个陷阱,这些陷阱都位于整数位置,分别是a1,a2,-am,陷入其中则必死无疑.显然,如果有两个挨着的陷阱,则玛丽是无论如何也跳过不去的. 现在给出小道的长度n,陷阱的个数及位置.求出玛丽从位置1开始,有多少种跳跃方法能到达胜利的彼岸(到达位置n). 输入格式 第一行为…
算法提高 Torry的困惑(提高型) 时间限制:1.0s 内存限制:512.0MB 问题描述 Torry从小喜爱数学.一天,老师告诉他,像2.3.5.7--这样的数叫做质数.Torry突然想到一个问题,前10.100.1000.10000--个质数的乘积是多少呢?他把这个问题告诉老师.老师愣住了,一时回答不出来.于是Torry求助于会编程的你,请你算出前n个质数的乘积.不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值. 输入格式 仅包含一个正整数n,其中n<=10000…
算法提高 计算时间 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个t,将t秒转化为HH:MM:SS的形式,表示HH小时MM分钟SS秒.HH,MM,SS均是两位数,如果小于10用0补到两位. 输入格式 第一行一个数T(1<=T<=100,000),表示数据组数.后面每组数据读入一个数t,0<=t<246060. 输出格式 每组数据一行,HH:MM:SS. 样例输入 2 0 86399 样例输出 00:00:00 23:59:59 import java.io.Buf…
算法提高 最小乘积(提高型) 时间限制:1.0s 内存限制:512.0MB 问题描述 给两组数,各n个. 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小.要求程序输出这个最小值. 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25 输入格式 第一个行一个数T表示数据组数.后面每组数据,先读入一个n,接下来两行每行n个数,每个数的绝对值小于等于1000. n<=1000,T<…
算法提高 统计单词数 时间限制:1.0s 内存限制:512.0MB 问题描述 统计输入英文文章段落中不同单词(单词有大小写之分, 但统计时忽略大小写)各自出现的次数. 输入段落中所含单词的总数不超过100,最长单词的长度不超过20个字母. 输入格式 一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格, 逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和句号紧跟在它前面的英文单词后面, 中间没有空格. 段落最后一个字符是回车符, 表示输入结束. 输出格式 若段落中共有…
算法提高 项链 时间限制:1.0s 内存限制:512.0MB 问题描述 由 n(1≤n≤100) 个珠子组成的一个项链,珠子有红.蓝.白三种颜色,各种颜色的珠子的安排顺序由键盘输入的字符串任意给定.蓝色用小写字母b表示,红色用小写字母r表示, 白色用小写字母w表示. 假定从项链的某处将其剪断,把它摆成一条直线.先从左端向右收集同色珠子,遇到第一个异色珠子时停止. 收集过程中, 白色是一种特殊颜色, 既可以看成红色也可以看成蓝色.然后再从剩余珠子的右端向左重复上述过程. 例如:对下图一所示的项链,…
算法提高 交换Easy 时间限制:1.0s 内存限制:512.0MB 问题描述 给定N个整数组成的序列,每次交换当前第x个与第y个整数,要求输出最终的序列. 输入格式 第一行为序列的大小N(1<=N<=1000)和操作个数M(1<=M<=1000). 第二行包含N个数字,表示初始序列. 接下来M行,每行两个整数x,y (1<=x,y<=N),表示要交换的两个整数.在一次交换中,如果x和y相等,则不会改变序列的内容. 输出格式 输出N行,为交换后的序列中的数. 样例输入…
算法提高 彩票 时间限制: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 说明 2016.4.5 已更新试题,请重新提交自己的程序. 问题描述 给定一个大于1,不超过2000000的正整数n,输出欧拉函数,phi(n)的值. 如果你并不了解欧拉函数,那么请参阅提示. 输入格式 在给定的输入文件中进行读入: 一行一个正整数n. 输出格式 将输出信息输出到指定的文件中: 一行一个整数表示phi(n). 样例输入 17 样例输出 16 提示 欧拉函数phi(n)是数论中非常重要的一个函数,其表示1到n-1之间…
  算法提高 棋盘多项式   时间限制:1.0s   内存限制:256.0MB 棋盘多项式 问题描述 八皇后问题是在棋盘上放皇后,互相不攻击,求方案.变换一下棋子,还可以有八车问题,八马问题,八兵问题,八王问题,注意别念反.在这道题里,棋子换成车,同时棋盘也得换,确切说,是进行一些改造.比如现在有一张n*n的棋盘,我们在一些格子上抠几个洞,这些洞自然不能放棋子了,会漏下去的.另外,一个车本来能攻击和它的同行同列.现在,你想想,在攻击的过程中如果踩到一个洞,便会自取灭亡.故,车的攻击范围止于洞.…
算法训练 数对 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,该程序从用户读入一个整数,然后列出所有的数对,每个数对的乘积即为该数. 输入格式:输入只有一行,即一个整数. 输出格式:输出有若干行,每一行是一个乘法式子.(注意:运算符号与数字之间有一个空格) 输入输出样例 样例输入 32 样例输出 1 * 32 = 32 2 * 16 = 32 4 * 8 = 32 8 * 4 = 32 16 * 2 = 32 32 * 1 = 32 import java.io.Buff…
算法提高 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,…