算法竞赛入门
文章平均质量分 72
算法竞赛入门经典第二版 习题代码
春风吹又生
如果文章有错误或者有问题可以发我邮箱:danqiusheng@foxmail.com。相互交流
展开
-
算法竞赛入门-刽子手游戏(Hangman Judge )
1、题目游戏规则,计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有那个字母,所有该字母都会显示出来,如果没有那个字母则计算机会在一副“刽子手”画上填一笔,这幅画一共需要7笔就能完成,因此你最多只能错6次。注意猜一个已经猜过的字母也算错。在本题中,你的任务是编写一个“裁判”程序,输入单词和玩家的猜测,判断玩家赢了,(You win.)、输了(You lose.)、还是放弃了(You chi...原创 2018-05-07 22:50:20 · 1850 阅读 · 0 评论 -
算法竞赛入门-救济金发放(The Dole Queue )
1、题目n(n<20)个人站成一圈,逆时针编号为1~n。有两个官员,A从1开始逆时针数,B从n开始顺时针数。在每一轮中,官员A数k个就停下来,官员B数m个就停下来(注意有可能两个官员停在同一个人上)。接下来被官员选中的人(1个或者2个)离开队伍。输入n,k,m输出每轮里被选中的人的编号(如果有两个人,先输出被A选中的)。例如,n=10,k=4,m=3,输出为4 8, 9 5, 3 1, 2 ...原创 2018-06-09 18:54:23 · 978 阅读 · 0 评论 -
算法竞赛入门-分子量(Molar Mass)
1. 题目今天第一道给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分别为C, H, O, N,原子量分别为12.01, 1.008, 16.00, 14.01(单位:g/mol),输入t个分子式,输出分子量,保留三位小数。输入: 4 C C6H5OH NH2CH2COOH C12H22O11输出: 12.010 94.108 75.070 342.2962. 思路 存储...原创 2018-04-08 18:58:29 · 1776 阅读 · 0 评论 -
算法竞赛入门-周期串(Periodic Strings)
1. 题目今天第三题如果一个字符可以由某个长度为k的字符串重复多次得到,则称该字符串以k为周期。例如,abcabcabc以3为周期(注意,他也以6和12为周期)。样例输入1hohoho样例输出22. 思路第一种:使用String类的replaceAll方法第二种:使用间隔循环,因为长度必须要能够被间隔整除3. 代码package basic.第三章;import java.util.Scann...原创 2018-04-08 22:16:08 · 660 阅读 · 0 评论 -
算法竞赛入门-Tex中的引号(Tex Quotes)
1. 题目今天第二道:在Tex中,做双引号的" `` ",右双引号是" '' "(两个回车左边的).输入一篇包含双引号的文章,你的任务是把它转换成TeX的格式。样例输入"To be or not to be,"quoth the Bard,"that is the question".样例输出 ``To be or not to be''quoth the Bard,``that is the...原创 2018-04-08 19:28:11 · 559 阅读 · 0 评论 -
算法竞赛入门-DNA序列(DNA Consensus String)
1.题目 今天第一题输入m个长度均为n的DNA序列,求一个DNA序列,到所有序列的总Hamming距离尽量 小。 两个等长字符串的Hamming距离等于字符不同的位置个数,例如,ACGT和GCGA的 Hamming距离为2(左数第1, 4个字符不同)。输入整数m和n(4≤m≤50, 4≤n≤1000),以及m个长度为n的DNA序列(只包含字母 A,C,G,T),输出到m个序列的Hamming距离和...原创 2018-04-09 22:20:27 · 1594 阅读 · 0 评论 -
算法竞赛入门-纵横字谜的答案(Crossword Answers)
1. 题目 输入一个r行c列的网格,,黑格用‘*’表示,每个白格都填有一个字母。如果一个白格的左边相邻位置或者上边相邻位置没有白格(可能是黑格,也可能出了网格边界),则称这个白格是一个起始格。首先把所有的起始格从上到下,从左到右的顺序编号为1,2,3..., 输入:Each puzzle solution in the input starts with a line containing two...原创 2018-04-11 00:25:29 · 1713 阅读 · 0 评论 -
算法竞赛入门-子序列(All in All)
1.题目You have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way. Because of pending patent issues we will not dis...原创 2018-04-12 23:39:53 · 567 阅读 · 0 评论 -
算法竞赛入门-循环小数(Repeating Decimals)
1、题目输入整数a(0<=a<=3000)和 b (1<=b<=3000),输出a/b的循环小数表示以及循环字节长度。例如a=5,b=43,小数表示为0.(116279069767441860465),循环字节长度为21。 2、思路第一步:先算出 a/b 的 商第二步:算出 a%b 的余数第三步:循环计算 (余数远远小于除数,所以需要将余数扩大10倍,然...原创 2018-05-01 22:50:23 · 1312 阅读 · 3 评论 -
算法竞赛入门-盒子(Box )
1、题目给定6个矩形的长和宽wi和hi(1<=w, hi <= 1000),判断它们能否构成长方体的六个面。输入:1345 2584 2584 683 2584 1345 683 1345 683 1345 2584 683输出: POSSIBLE2、思路 两两比较,在之前排序,然后进行0-1比较,2-3比较,4-5比较。最后再判断一次0里面的长宽对应2的长,4的宽或者2和4宽(必须在...原创 2018-05-02 23:52:54 · 829 阅读 · 0 评论 -
算法竞赛入门-换低档装置(Kickdown )
1、题目给出两个长度分别为n1,n2且每列高度只为1或者2的长条,需要将它们放入一个高度为3的容器,问容器的最短长度。输入:211211211222121121212121221212121221122112221212输出:108152、思路这题很简单,主要就是判断n1和n2的高度不能超出3第一步:判断输入的n1和n2的长度第二步:遍历最短的字符串n2,然后同时遍历n1,如果有不满足的高度出...原创 2018-05-03 22:50:17 · 735 阅读 · 0 评论