![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《算法竞赛与入门经典》
紫书
来老铁干了这碗代码
算法爱好者 终生学习践行者 雨雪刀霜阻不住 不成大神誓不休
展开
-
20行代码AC_ 习题8-1 Bin Packing UVA - 1149(贪心+简单二分解析)
励志用少的代码做高效表达题意给定N个物品的中联L1,背包的容量M,同时要求每个背包最多装两个物品,求至少要多少个背包才能装下所有的物品。解题过程第一次接触背包类问题。最初的思路是降序排序,i从最大值遍历,j从i后遍历,直到找到可以装在一个背包里的两个物体,若无,则把最大值单独装包。时间复杂度为O(n^2),超时且复杂。网搜后,发现更优化的思路是:升序排序,从i最小的值遍历,j从最大的值遍历,若二者和满足条件,则装包, 反之将较大值单独装包。于是我陷入了思考, 为什么只是将排序调整一下,时间复原创 2020-08-29 14:43:55 · 1454 阅读 · 0 评论 -
四种解法——求子序列的最大连续子序和(普通解法、求和解法、分治法、O(n)级解法)(面试经典题)
励志用少的代码做高效表达在这四种解法里,解法一是通法,可以学到规律和知识,做基础之用;解法二在解法一的基础上做改进,锻炼思维;解法三则是大名鼎鼎的分治法,涉及到递归的知识,算是“高效算法设计”的基础;解法四以O(n)的复杂度解出最大连续子序和,一个字,神奇。四种解法循序渐进,效率逐步提高,精妙至极。建议初学者每种都要掌握。解法一:最普通的解法,定义i循环,代表数组从0到n-1的值,定义j循环,代表从a[i]开始,到a[j]结束。 定义k循环,将从a[i]至a[j]所有的数相加,最后求出最大子序列和。原创 2020-08-23 00:52:48 · 1298 阅读 · 1 评论 -
16行代码AC——紫书| 例题7-3 Fractions Again?! (UVA - 10976)_时间复杂度O(n)
励志用尽量少的代码做高效表达Problem describeIt is easy to see that for every fraction in the form 1/k(k > 0), we can always find two positive integers x and y, x ≥ y, such that:1/k=1/x+1/y1/k=1/x+1/y1/k=1/x+1/yNow our question is: can you write a program that co原创 2020-08-17 11:59:16 · 822 阅读 · 1 评论 -
10行代码AC——UVa 10940(Throwing cards away II 数学规律+约瑟夫环)
励志用尽量少的代码做高效表达题目(提交)链接——>UVa-10940问题分析本题的时间要求是3s,但极限数据量为50W*50W,一般来说,3s的时间只能支持不到三千万次的运算,也就是说,即使以O(n)为复杂度做运算,也无法满足题意。分析到这里,我们很容易想到本题的思路是:找规律或预处理。首先使用基本方法打印出前100个数字的结果: 1 2 2 4 2 4 6 8 2 4 6 8 10 12 14 16 2 4 6 8 10 12 14 16 18 20原创 2020-08-12 13:54:24 · 663 阅读 · 0 评论 -
28行代码AC——习题3-12 浮点数(UVA 11809 - Floating-Point Numbers)——解题报告
励志用少的代码做高效的表达题目(提交)链接→UVA-11809算是个数学题吧,虽然在AOAPC上面给放到象征水题的第三章里面了。这个题基本就是帮着你复习了一遍浮点数的存储方式了。浮点数在计算机里是分三部分表示的,最前面一位表示符号,后面一部分是尾数,最后一部分是阶码,表示方法类似于科学记数法,不过是二进制的,尾数是M阶码是E的话那么表示起来就是M × 2^E了。然后对于M还有一个要求,就是1/2 ≤ M < 1,所以用二进制表示M的话就应该是0.1XX……,用计算机表示的时候就把最前面的“0转载 2020-06-20 23:28:00 · 776 阅读 · 0 评论 -
21行代码AC——习题3-7 DNA序列(UVa-1368)_解题报告
励志用尽量少的代码做高效表达。思路:DNA序列:按列遍历,记录每一列出现次数最多(若同样多,则字典序最小)的字母,录入s串累加。距离:重新遍历,录入出现次数比最多次数少(若相等,则字典序较大的)的次数,录入sum累加代码:#include<bits/stdc++.h? using namespace std;int main() { int n; cin >> n; while(n--) { int m, n; cin >> m >> n原创 2020-06-05 23:24:19 · 928 阅读 · 4 评论 -
19行代码AC——习题3-4 周期串(UVa-455)_解题报告
励志用尽量少的代码做高效表达题意:输入一个长度不超过80的字符串,输出其最小周期。思路:本题的最佳思路是取余构造循环串求最小周期按照正常求周期的方法,若取不同周期长度,遍历次数也会不同,稍有不慎遍历的字符就会漏掉或溢出。因此我们采取取余的方式在逻辑上增加串的长度,使得取不同周期长度遍历的次数都是相同的,这样就可以用一个循环解决问题。当然,本题采用字符串分割的方式也可以解决,但太臃肿,低效,因此笔者没有给出实现代码。代码:#include <bits/stdc++.h>usi原创 2020-06-04 21:09:52 · 916 阅读 · 2 评论 -
22行代码AC,三种解法——例题3-6_环状序列(UVa-1584)
励志用尽量少的代码做高效表达题目(提交)链接——>Uva-1584因为是水题,因此做题重心由解题转向优化核心思路:本题共有三种解法:解法一、string字符串中assign()+erase()截取字符串模拟循环 大概思路是利用assign()赋值序列的前半部分,用一中间变量保存,同时用erase()删除前半部分,将后半部分与中间变量连接,就是一条新链,循环取字典序最小者解法二、取余模拟循环(书中解法) 大概思路就是利用取余将序列从逻辑上连接起来,每次从头逐个比较序列,保存较小的,最原创 2020-06-01 23:16:22 · 917 阅读 · 0 评论 -
11行代码AC——比紫书优化,例题2-3 近似计算——解题报告
励志用更少的代码做高效的表达题意:计算π/4 = 1 - 1/3 + 1/5 - 1/7 + …,直到最后一项小于10^-6。思路分析: 本题很简单,因此计算重心从解题转化为优化。 本题为重复计算,但只有算完一项后,才知道它是否小于10^-6,也就是说,循环终止判断是在计算之后,而不是计算之前,因此最佳解法显然是使用do-while循环。代码:#include<cstdio>int main() { double num = 1, n = 1; bool flag = fa原创 2020-05-22 16:49:31 · 630 阅读 · 0 评论 -
11行代码AC——习题2-4 子序列的和(subsequence)——解题报告
励志用尽量少的代码做高效的表达。题目描述:输入两个正整数n<m<106,输出1/(n²)+1/((n+1)²)+……+1/(m²),保留5位小数。输入包含多组数据,结束标记为n=m=0。提示:本题有陷阱。样例输入:2 465536 6553600 0样例输出:Case 1: 0.42361Case 2: 0.00001思路:1、由于数量太大,如果按照传统的除法相加一定会溢...原创 2020-04-26 23:09:24 · 994 阅读 · 1 评论 -
11行代码AC——习题2-2 韩信点兵C语言
励志用更少的代码做高效的表达。题目描述:相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。输入到文件结束为止。样例输入:2...原创 2020-04-26 22:31:05 · 1288 阅读 · 0 评论 -
解题报告——习题2-5 分数化小数(decimal) 输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。
励志用尽量少的代码做高效的表达。题目描述:输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。 a,b ≤10[^6] ,c≤100。输入包含多组数据,结束标记记为a = b = c = 0。样例输入:1 6 40 0 0样例输出:Case 1: 0.1667网上有很多错误代码,形如:或者: 无论C格式,还是C++格式,都是错的!!!因为根本没办法显示几十位...原创 2020-04-26 18:48:59 · 3835 阅读 · 5 评论 -
22行代码AC——例题7-1除法(Division UVa 725)——解题报告
励志用尽量少的代码做高效的表达题目大意:0-9不重复的组成两个5位数,如果数A/数B=n,则为可行解。思路分析:本题实质是通过巧妙分析的暴力求解法。下等解法:直接枚举0-9的全排列,枚举量为10!,效率极低。中等解法:在下等解法的基础上思考,如果我们只遍历一个数的5位,判断该数*n是否小于10W且两个数中各位是否重复,则最大只需遍历10^5次。上等解法:在中等解法的基础上思考,被除...原创 2020-03-29 10:45:18 · 1145 阅读 · 3 评论 -
12行代码AC——例题6-6 小球下落(Droppint Balls, UVa 679)——解题报告
励志用尽量少的代码做高效的表达。提交(题目)链接→UVa-679题目大意:有一颗满二叉树,每个节点是一个开关,初始全是关闭的,小球从顶点落下,如果开关打开,则落向该节点的右子树,如果开关关闭,则落向该节点的左子树。小球每次经过开关就会把它的状态置反,问第k个球下落到d层时经过的开关编号。思路分析;最初的想法是:使用一维数组模拟树的遍历。因为题目比较简单,就没有估算时间复杂度。 ...原创 2020-03-14 12:25:07 · 874 阅读 · 0 评论 -
16行代码AC——例题6-4破损的键盘(Broken Keyboard,UVa 11988)——解题报告
励志用尽量少的代码做高效的表达。题目(提交)链接→UVa-11988题目大意:输入一个字符串,输出在原本应该是怎么样的?具体方法是:若读取到‘[’, 则执行Home键:将光标移到行首。若读取到’]’, 则执行End键:将光标移到行尾。思路:此题的本质是模拟鼠标光标处理线性序列。基于这个核心思想,我们只需要定义一个类型做光标,若读到’[’,则该值移动到序列头部,若读到‘]’,...原创 2020-03-13 12:50:12 · 901 阅读 · 0 评论 -
25行代码AC——习题5-7 打印队列(Printer Queue,UVa 12100)——解题报告
励志用尽量少的代码做高效的表达。题目(提交)链接→UVa-12100题目描述:我们需要用打印机打印任务。每个任务都有1~9间的优先级,优先级越高,任务越急。打印机的运作方式:从打印队列里取出一个任务j,如果队列里有比j更急的任务,则直接把j放到打印队列尾部,否则打印任务j。每次打印都消耗一分钟的时间,但调整任务位置不消耗时间。输入:第一行:n个测试用例第二行:m1(任务个数) ...原创 2020-03-11 15:27:55 · 1910 阅读 · 0 评论 -
22行代码AC——习题5-6 对称轴(Symmetry,UVa1595)——解题报告
励志用尽量少的代码做高效的表达。题目(提交)链接→UVa-1595思路:此题本质是一道笛卡尔坐标系上的对称性问题。判定性问题:由于只要能判别图像是否左右对称即可,无需确认关于哪条垂直线对称,那么问题可以这样解决:将坐标升序排序后,若两侧坐标和都等于sum,再判断二者y值相同。就说明关于某条线对称。最开始想到用pair结构体,p.first存储x坐标,p.second存储y坐标。重写c...原创 2020-03-10 23:40:42 · 892 阅读 · 0 评论 -
15行代码AC——习题5-5 复合词(Compound Words, UVa 10391)——解题报告
励志用少的代码做高效的表达题目(提交)链接→UVA-10391本题实质是#include<string>头文件的substr()字符串分割函数与#include<algorithm>头文件的find()函数联用。基本思路:单词(字符串)存入容器后,逐位分解(substr()),查找(find())按每一位分解后其前后分别组成的字符串是否在容器中出现。 若皆出现...原创 2020-03-10 17:02:14 · 783 阅读 · 0 评论 -
14行代码AC——习题5-4 交换学生(Foreign Exchange, UVa 10763)——解题报告
励志用少的代码做高效的表达题目(提交)链接→UVa-10763本题为水题,因此侧重点由解题转向优化。题意:判断第一列的数字是否与第二列的数字相同(乱序)。解题方向多样,值得探究:1、map哈希表解法:定义map<int, int> cnt;,其中cnt[i]表示学校i对应的人数增减变化量,若有人把学校i作为出发地,则cnt[i]--;若作为目的地,则cnt[i]++。最终若...原创 2020-03-10 15:59:29 · 1002 阅读 · 1 评论 -
17行代码AC——习题5-3 卡片游戏(Throwing cards away I, UVa 10935,约瑟夫环)_解题报告
励志用少的代码做高效的表达题目(提交)链接→UVa-10935 本题为水题,因此侧重点由解题转向优化。思路:最开始想到用string存储,利用插入,删除快速计算。但却发现如果输入>=10的数,给string赋值就非常麻烦。如:输入时我们要把11转化成"11",而输出是要把"11"再转化成11。于是换了一个思路:用vector存储,同样可以实现插入、删除等 。后知后觉:此题...原创 2020-03-10 11:12:06 · 930 阅读 · 0 评论 -
21行代码AC——例题5-2 Ducci序列(Ducci Sequence,UVa1594)——解题报告
励志用少的代码做高效的表达。题目(提交)链接→UVa-1594本题为水题,因此侧重点从解题转变为优化。注意点:1、下一轮是按照上一轮的每个数做运算,但下一轮每次运算都会改变数列的值,造成运算不准确,我的做法是:事先拷贝一个数列b,用数列b的值做运算,而后赋值给a。2、我判断0序列的方法是:用#include<algorithm>中的count()函数,如果0的数量等于数组...原创 2020-03-10 09:15:27 · 2145 阅读 · 2 评论 -
21行代码AC——习题5-1 代码对齐(Alignment of Code, UVa1593)——解题报告
题意:输入若干行代码,要求各列单词的左边界对齐且尽量靠左,单词之间至少要空一格,每个单词不超过80个字符,每行不超过180个字符,一共最多1000行。思路:1、输入内容存入二维数组2、找出每列最长的单词做域宽。3、按域宽输出单词。注意点:这道题本质就是在考get型函数处理输入+按域宽和左对齐输出。1、读取输入内容有两种方法:getline()逐行读取后用stringstream分割...原创 2020-03-09 21:43:05 · 1888 阅读 · 0 评论 -
解题报告——例题5-8 Unix is 命令(UVa 400)——26行代码解决
题目大意:读入n个字符串,按字典序排序,再按列优先输出,附加条件每行最多输出60个字符,在此条件下要求行最少。(最开始没仔细看题,以为在一行中,每个单词相隔最长单词的长度+2,最后一列单词空间长度为最长单词的长度,不够用空格补齐。o(╥﹏╥)o。)注意点:1、求行数和列数时,容易想到的方法是O(n)复杂度的遍历求法,但可以优化为复杂度为O(1)的求法。2、如果对本题求解过程有清晰的阶段划分...原创 2020-03-08 19:56:16 · 782 阅读 · 0 评论 -
比紫书优化,14行代码AC——例题 5-7 丑数(Ugly Numbers,UVa 136)——解题报告
题意:丑数是一些因子只有2,3,5的数。数列1,2,3,4,5,6,8,9,10,12,15……写出了从小到大的前11个丑数,1属于丑数。现在请你编写程序,找出第1500个丑数是什么。没有输入输出:The 1500’th ugly number is <…>.(<…>为你找到的第1500个丑数) 注意:<…>是你找到的数,输出中没有尖括号; 2、输出完应...原创 2020-03-08 16:52:05 · 870 阅读 · 0 评论 -
解题报告——例题 5-6团体队列(Team Queue UVa 540)——31行代码解决
题目大意:有t个团队的人正在排一个长队,每次新来一个人时,如果他有队友在排队,那么这个新人会插队到最后一个队友的身后。如果没有任何一个队友排队,那么他会排到长队的队尾。输入每个团队中所有队员的编号,要求支持如下三种指令(前两种指令可穿插进行):*ENQUEUE x:编号为x的人进入长队*DEQUEUE:长队的队首出队*STOR:停止模拟对于每个DEQUEUE指令,输出出队的人的编号。样...原创 2020-03-07 21:50:14 · 982 阅读 · 2 评论 -
解题报告——例题5-5 集合栈计算机 UVa12096
五个操作:1、PUSH:空集{}入栈2、DUP:当前栈顶元素复制一份在入栈3、UNION:出栈两个集合,然后把二者的并集入栈4、INTERSECT:出栈两个元素,然后把二者的交集入栈5、ADD:出栈两个集合,把先出栈的集合加入到后出栈的集合中,结果入栈心路历程:这道题当真卡了我好久好久,因为涉及到了4个容器的搭配使用,最开始总是搞不懂其中的逻辑,一度想要放弃,两次都从椅子上站起来不想...原创 2020-03-07 12:20:33 · 1090 阅读 · 2 评论 -
算法竞赛入门经典(第二版) | 例题5-4 反片语 (map+标准化)(UVa156,Ananagrams)
题目大意:输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词。在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中的大小写,按字典序排列。题目(提交)链接→UVa-156没使用过该网站的同学请猛戳这里→vJudge教程储备知识:标准化:将一个字符串中所有字母化简为小写,并按其字典序排列的过程叫标准化。分析: 此题大水...原创 2020-02-26 16:09:40 · 726 阅读 · 0 评论 -
算法竞赛入门经典(第二版) | 习题3-10 盒子 (pair结构体)(UVa1587,Box)
大意: 给定6个矩形的长和宽,判断他们能否构成一个长方体。题目(提交)链接→UVa-1587没使用过该网站的同学请猛戳这里→vJudge教程储备知识:pair结构体:pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map,就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。简而言...原创 2020-02-25 13:04:48 · 1112 阅读 · 1 评论 -
算法竞赛入门经典(第二版) | 例题5-3 安迪的第一个字典 (紫书牛啤!)(UVa10815,Andy's First Dictionary)
概述: 输入一个文本,找出所有不同的单词,按字典序排序,去重后,输出,单词不分大小写。 储备知识: 1、sstring头文件的用法→sstring头文件函数详解2、cctype头文件的用法→cctype头文件函数详解题目(提交)链接→UVa-10815没使用过该网站的同学请猛戳这里→vJudge教程分析一、我的思路是: 读到大写字母就转化成小写的,读到小写就存入字...原创 2020-02-24 18:59:45 · 706 阅读 · 0 评论 -
算法竞赛入门经典(第二版) | 例题5-2 木块问题 (紫皮书牛啤!)(UVa101,The Blocks Problem)
大意:输入n,代表n个木块,输入最多n种操作类型,按类型对木块进行操作,读入quit结束输入输出格式:1、move a onto b:将a和b所在上方的方块先归位,再将a移到b所在柱子2、move a over b:仅将a所在上方的方块先归位,再将a移到b所在柱子3、pile a onto b:将b所在上方的方块先归位,再将a及其上方的所有方块移到b所在柱子4、pile a ov...原创 2020-02-24 12:21:12 · 516 阅读 · 0 评论 -
算法竞赛入门经典(第二版) | 例题5-1 大理石在哪 (普适查找)(UVa10474,Where is the Marble?)
大意:给一序列,要求先将序列排序。再给n个数字,找到每个数字在序列中的位置题目(提交)网址→UVa-10474百度翻译→百度翻译没使用过该网站的同学请猛戳这里→vJudge教程思路数组存入,sort排序,find或lower_bound查找。分析:最开始没有注意到n是有上限的,于是开了一个vector(小声哔哔,vector比数组慢了一倍有余),将vector换成数组就是最佳解...原创 2020-02-22 18:19:36 · 729 阅读 · 0 评论 -
算法竞赛入门经典(第二版) | 例题4-5 追踪电子表格中的单元格 (UVa512,Spreadsheet Tracking,World Finals)(解法二)
本着清晰明了易懂可以水两篇 的理念,笔者将这道题分两次发布。这是第二种解法。第一种解法传送门→解法一+提交网址因为解法1中有详细关于题目和输入输出格式等的介绍,这里就不过多赘述了。分析:一些初学者做题的主要思路都是解法1:将题中每个可能的操作都考虑到,确保计算出所有可能的所有结果。但解法2的思路相比上述有很大不同。这个思路是将所有操作保存,然后对于每个查询重新执行每个操作,但不需要...原创 2020-02-19 10:40:39 · 723 阅读 · 0 评论 -
算法竞赛入门经典(第二版) | 例题4-5 追踪电子表格中的单元格 (UVa512,Spreadsheet Tracking,World Finals)(解法一)
大意输入:r(行)c(列)n(种操作)m(个行/列),给出具体行/列 x(个坐标),给出具体坐标。输出:m个坐标经过n种操作后分别移动到了哪里。注意:所有操作都是根据原始表进行的,如:1,2,3行前插入空行,此123行指原表的123行,而不是插入一行后值变动。输入输出格式:1、输入m和n其一得零时结束。每个输出结果直接无空行。2、每个输出之前需要有空行,且最后一个输出前没空行。分析...原创 2020-02-18 10:34:24 · 811 阅读 · 0 评论 -
算法竞赛入门经典(第二版) | 例题4-4 信息解码 (紫皮书牛啤!)(UVa213,Message Decoding)
大意:二进制编码中取前三位,得到编码长度为n(0<=n<=7), 按此长度重复截取编码中剩余部分(n位一截),直到读取n个1结束。再次取三位,长度为n,重复上述操作…直至n个1后接000,文本结束。题目(提交)链接→UVa-213百度翻译→百度翻译没使用过该网站的同学请猛戳这里→vJudge教程分析环节略过,代码中有详细的注释,还不是很明白的同学。把代码中三段注释消除,将...原创 2020-02-16 15:14:16 · 857 阅读 · 0 评论 -
11行代码AC—— 例题4-1 古老的密码 (UVa1339,Ancient Cipher)_解题报告
提目(提交)链接→UVa-1339百度翻译→百度翻译没使用过该网站的同学请猛戳这里→vJudge教程分析:这道题对于我这种数学渣渣来说简直是直击心灵的暴击,最开始理解“映射”:只能以同一规律映射,比如串A正确排序后,所有元素前移/后移n个单位得到串b,但其实它指的是一一映射。举个栗子:串A:HHAA。串B:HHEE, H映射H,A映射E或者H映射E,A映射H,都是OK的。因此...原创 2020-02-16 09:03:33 · 1115 阅读 · 0 评论 -
算法竞赛入门经典(第二版) | 例题4-3 救济金发放 (UVa133,The Dole Queue)
提目(提交)链接→UVa-133百度翻译→百度翻译没使用过该网站的同学请猛戳这里→vJudge教程分析:最开始的固有思维是循环就用循环链表,其实完全可以把它看成一个大一点的周期类型题(一个大周期),用数组+求余即可解决。代码:#include<iostream>#include<cstdio>#define maxn 25int n, k, m, a[m...原创 2020-02-15 16:30:36 · 1013 阅读 · 1 评论 -
算法竞赛入门经典(第二版) | 例题4-2 刽子手游戏 (UVa489,Hangman Judge)
提目(提交)链接→UVa-489百度翻译→百度翻译没使用过该网站的同学请猛戳这里→vJudge教程输入输出规则按题给句子输出即可,每个输出之间没有空行。测试规则1.错7次则lose。2.猜一个已经猜过的(无论是正确的还是错误的字母),都算错。3.若已经全部猜出,之后即使乱输入使得错误大于7次,也算win。分析:按ASIⅡ定义a[127]与b[127],赋0,若数组角标=正...原创 2020-02-15 12:16:28 · 889 阅读 · 0 评论 -
算法竞赛入门经典(第二版) | 习题3-5 谜题 (UVa227,Puzzle)(World Finals 1993)
乍一看是一个大水题,但World Finals这两个词标示着老子世界决赛真题虽然题目很水但是数据就能卡死你。整整搞了五个小时,期间经历过崩溃(花了这么多时间搞一道大水题,还没AC),但好在坚持下来了,不断的搜网,交流,最后成功AC。题目大意我就不说了,相信来同学们以及把它看得都能倒着背下来了。这里说几点限制:(1)每个输出之间都有一行空格,但最后一个输出之前没有’\n’。(2)‘0’之前...原创 2020-02-14 15:14:44 · 1434 阅读 · 4 评论 -
13行代码AC_习题3-9 子序列 (UVa10340,All in All)
大意:输入两个字符串,判断串B是否可以通过删除0~n个字符变成串A,输入以EOF结尾。Sample Inputsequence subsequenceperson compressionVERDI vivaVittorioEmanueleReDiItaliacaseDoesMatter CaseDoesMatterSample OutputYesNoYesNo分析:...原创 2020-02-13 21:31:39 · 798 阅读 · 0 评论 -
15行代码AC——习题3-3 数数字 (UVa1225,Digit Counting)
大意:把n(n<=10000)个整数顺序写在一起,求0~9分别出现多少次Sample Input2 (笔者注:这个2是输入两次的一次。)313Sample Output0 1 1 1 0 0 0 0 0 01 6 2 2 1 1 1 1 1 1分析:1、这种水题千万不要想得太复杂,用最简单的知识就可以AC。复杂的语法反到易错而臃肿。2、这个题只需要输入n,...原创 2020-02-13 16:48:36 · 764 阅读 · 0 评论