自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 ac59把数字翻译成字符串

第一种情况和第二种情况很简单,字符串长度为0就没得翻译,返回0;字符串长度为1就只有1种翻译方法,返回1。假设递归写完的前提是你得知道你写的函数是做什么的。第一种情况很简单,0~9都有对应的字母,所以无论开头的是什么数字都可以直接翻译。当第三种情况时,可能翻译的方法有两种,一种翻译成两个字母,一种翻译成一个字母。请编程实现一个函数用来计算一个数字有多少种不同的翻译方法。例如 12258 有 5 种不同的翻译,它们分别是。输入一串数字的字符串,输出他翻译方法的种类数。复杂的是第二种情况。

2023-01-30 18:59:02 146 1

原创 洛谷1090合并果子

并且已知果子的种类 数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。这里我不用数组第一个空间,这样寻找一个元素的父节点就直接是这个元素下标除2,感觉比较方便。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为。一个整数,也就是最小的体力耗费值。为最小的体力耗费值。,表示果子的种类数。

2023-01-25 20:04:17 160

原创 ac3483二的幂次方

每个正数都可以用指数形式表示。例如,137=2+2+2。让我们用ab) 来表示a。那么 137 可以表示为 2(7)+2(3)+2(0)。因为 7=2(2)+2+2(0),3=2+2(0),所以 137 最终可以表示为 2(2(2)+2+2(0))+2(2+2(0))+2(0)。给定一个正数n,请你将n表示为只包含 0 和 2 的指数形式。

2023-01-19 14:30:36 163

原创 ac237程序自动分析

在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表程序中出现的变量,给定n个形如xx或x≠x的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1=x2,x2=x3,x3=x4,x1≠x4,这些约束条件显然是不可能同时被满足的,因此这个问题应判定为不可被满足。

2023-01-15 13:20:54 106

原创 洛谷1126机器人搬重物

机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径1.6米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个N×M的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地方。机器人接受的指令有:向前移动1步(Creep向前移动2步(Walk向前移动3步(Run向左转(Left向右转(Right每个指令所需要的时间为1秒。请你计算一下机器人完成任务所需的最少时间。

2023-01-13 17:16:40 234

原创 AcWing1560-反转链表

这个指针指向原本是由最后一个元素记录的,但是我们发现再反转内部节点时把这个指向丢失了,于是我们要对上面的代码添加一个变量用来存储原本指向的地址,并在最后把新的结尾的指针指向它。题目有说明节点的地址要在0~99999之间,因此这里我把head节点分配在100000,这将在接下来的代码体现。处理完的序列头一定是原先的最后一个节点,所以我们直接把previous_node的next赋值为order数组的最后一个元素就行。将重新排好序的链表,从头节点点开始,依次输出每个节点的信息,格式与输入相同。

2023-01-11 14:27:16 99

原创 leetcode71-简化路径

给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,‘//’)都被视为单个斜杠 ‘/’。对于此问题,任何其他格式的点(例如,‘…’)均被视为文件/目录名称。返回简化后得到的 规范路径。

2023-01-09 14:16:30 192

原创 PTA 7-9 编写一个友元函数,求两个日期之间相差的天数。

目录题目输入样例:输出样例:代码:吐槽:题目设计一个日期类Date,包括日期的年份、月份和日号,编写一个友元函数,求两个日期之间相差的天数。该类中设计有3个友元函数;count_day()函数,它有两个参数,第2个参数是一个标志,当其值等于1 时,计算一年的开始到某日期的天数;否则计算某日期到年尾的天数。leap()函数用于判断指定的年份是否为闰年。subs()函数用于计算两个日期之间的天数。 当时间输入不正确时,输出“time error!”输入样例:在这里给出一组输入。例如:2000 1 1

2022-05-22 15:45:00 354

原创 PTA 6-3 对象指针与对象数组(拉丁舞)

目录题目:裁判测试程序样例:输入样例:输出样例:代码:题目:对象指针与对象数组(拉丁舞)怡山小学毕业文艺晚会上,拉丁舞是最受欢迎的节目。不过,每年为了排练这个节目,舞蹈组都会出现一些纠纷。有些同学特别受欢迎,有些却少人问津,因此安排舞伴成为舞蹈组陈老师最头疼的问题。为了解决这一问题,今年陈老师决定让按先男生后女生,先低号后高号的顺序,每个人先报上自己期待的舞伴,每人报两位,先报最期待的舞伴。接下来按先男生后女生,先低号后高号的顺序,依次按以下规则匹配舞伴:(1)每个人均按志愿顺序从前到后确定舞伴。

2022-05-22 11:14:29 466

原创 PTA 6-6 工作备忘录的生成(链表)

每天都要处理很多事务,为了更好地安排工作,希望在每天开始工作前,根据工作记录,生成工作备忘录。首先输入工作记录数(大于0的一个整数),再逐条输入各条工作记录,每条工作记录包括:工作名,开始时间,结束时间。假设每项工作的开始时间均小于它的结束时间,并且各项工作的开始时间互不相同。我们的工作是需要把这些工作记录按开始时间排序并输出,在输出时,如果某项工作与若干项工作冲突(在做该项工作时,需要同时做其它工作),则在该工作名前加'*'。函数接口定义:Node* add(Node *, Node *);

2022-05-01 19:18:23 1723

原创 PTA 7-6 列车调度

题目:火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出一个整数N (2 ≤ N ≤105),下一行给出从1到N的整数序号的一个重排列。数字间以空格分隔。输出

2022-04-05 12:28:35 4389

原创 PTA 7-5 彩虹瓶

题目:彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去。当一种颜色装填完以后,先看看货架顶端的一箱是不是下一个要装填的颜色,如果是就取下来装填,否

2022-04-05 10:42:10 6333 4

原创 PTA 7-4 符号配对

请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。输出格式:首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。输入样例1:void test(){ int i, A[10]; f

2022-04-04 23:31:15 2941 1

原创 PTA 7-3 重排链表

给定一个单链表 L1​→L2​→⋯→Ln−1​→Ln​,请编写程序将链表重新排列为 Ln​→L1​→Ln−1​→L2​→⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤105)。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,每行格式为:Address Data Next其中Address是结点地址;Data是该结点保存的数据,为不超过1

2022-04-04 18:02:12 6318 2

原创 PTA 7-1 特殊约瑟夫问题

编号为1…N的N个小朋友玩游戏,他们按编号顺时针围成一圈,从第一个人开始按逆时针次序报数,报到第M个人出列;然后再从下个人开始按顺时针次序报数,报到第K个人出列;再从下一个人开始按逆时针次序报数,报到第M个人出列;再从下个人开始按顺时针次序报数,报到第K个人出列……以此类推不断循环,直至最后一人出列。请编写程序按顺序输出出列人的编号。输入格式:输入为3个正整数,分别表示N、M、K,均不超过1000。输出格式:输出为一行整数,为出列人的编号。每个整数后一个空格。输入样例:6 3

2022-04-03 16:31:54 1630

原创 PTA 7 龙舌兰酒吧

有一个大小为n*m的矩形小镇,城镇上有房屋(“#”表示无法通过),有空地(“.”表示可通行),每次移动只能朝上下左右四个方向,且需花费1单位时间。一天,二乔和承太郎约定在龙舌兰酒吧见面,两人同时从各自所在位置向酒吧出发。请问最少需要过多少时间他们才能在酒吧碰面。地图上P表示二乔的位置,W表示承太郎的位置,B表示酒吧的位置。输入格式:第一行包含两个整数n,m,表示城镇的大小。(1<=m,n<=1000)。接下来n行,每行m个字符,表示小镇的情况。输出格式:输出两人在酒吧

2022-03-31 21:47:18 503

原创 PTA 6 寻宝

奕哥今天玩到一款寻宝游戏,地图是一个n*m的矩阵,其中分布着一些宝藏,每个宝藏具有一定的价值,奕哥只能拿走其中一个宝藏。奕哥起始在a行b列。奕哥可以向相邻的一格移动,但不能走出地图外。奕哥初始体力值X,移动一格需要消耗体力值为1。体力耗尽后奕哥无法继续移动。地图中有一些障碍物,奕哥无法移动到障碍物上。奕哥想知道他能拿到的最具价值的宝藏是哪一个。输入格式:第一行包含5个整数n,m,a,b,X。n,m分别表示地图行数,列数;a,b表示奕哥起始位置在a行b列;X表示奕哥的体力。( 1<=n,m&

2022-03-29 15:57:55 3771

原创 PTA 4 奇怪的电梯

c大楼有一个一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i 层楼 (1≤i≤N) 上有一个数字Ki(0≤Ki≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3,3,1,2,5 代表了Ki (K1=3,K2=3,…),在1楼,按“上”可以到4楼,按“下”是不起作用的,因为没有−2楼。那么,从A楼到B楼至少要按几次按钮呢?输入格式:第一行包含3个用空格隔开的正整数,分别表示N,A,B (1≤N≤200,1≤A,B≤

2022-03-29 15:11:30 1788 1

原创 PTA 5 168

汉堡包在大街上大摇大摆的走着,看着手机上一道难倒数万人的小学数学题:1 + 1 = 01 + 6 = 16 + 6 = 28 + 1 = 28 + 6 = 3汉堡包看完之后发现上面这些加法的答案就是看1,6,8中圈圈的个数嘛!突然之间,所有大厦上的LED屏幕上的广告全部变成数字1,6,8三个数字的随机闪现。现给你一块n*m的LED屏幕,上面有且仅有一个数字(1,6,or 8),请你输出你看见的那个字母。输入格式:第一行输入两个整数n,m(2<= m, n &lt

2022-03-29 11:32:14 289

原创 PTA 3 括号匹配调整

如果通过插入“ +”和“ 1”可以从中得到格式正确的数学表达式,则将带括号的序列称为正确的。例如,序列 "(())()","()"和 "(()(()))"是正确的,而")(","(()))("和"(()" 不是。定义重新排序操作:选择括号序列的任意连续子段(子字符串),然后以任意方式对其中的所有字符进行重新排序。当重新排序的子段的长度为t时,重新排序操作需要耗时t秒。例如,对于“))((”,他可以选择子字符串“)(”并重新排序“)()(”(此操作将花费2秒)。不难看出,重新排序操作不会改

2022-03-29 10:52:04 664

原创 PTA 1 选座位

已知公交车中有n排座位,每排都有2个座位。第i排的两个座位的宽度均为wi厘米。没有相同宽度的两排座位。公共汽车最初是空的。有2n位乘客按顺序先后进入公共汽车。 乘客分为两种类型:内向者:总是选择两个座位都没人的一排。在这些排中,他选择座位宽度最小的,并占据了其中的一个座位; 外向型:总是选择有人的一排。 在这些排中,他选择座位宽度最大的那个,并占据了空位。你会得到每排座位的宽度和乘客进入公共汽车的顺序。 请你帮忙确定每位乘客将乘坐哪一排座位。输入格式:第一行包含一个整数n(1 ≤ n ≤

2022-03-29 00:42:32 187

原创 PTA 6 后缀表达式计算 (100 分)

Kunkun学长觉得应该让学弟学妹了解一下这个知识点:后缀表达式相对于中缀表达式更容易让计算机理解和学习。现在kunkun学长给出一串后缀表达式,你能帮他算出这个后缀表达式的值吗?输入格式:第一行输入后缀表达式长度n(1<=n<=25000);第二行输入一个字符串表示后缀表达式(每个数据或者符号之间用逗号隔开,保证输入的后缀表达式合法,每个数包括中间结果保证不超过long long长整型范围)输出格式:输出一个整数,即后缀表达式的值。样例1">样例1">样例1

2022-03-25 00:23:45 1073

原创 PTA 后缀表达式 (100 分)

所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右进行(不用考虑运算符的优先级)。如:中缀表达式 3*(5–2)+7 对应的后缀表达式为:352-*7+ 。请将给出的中缀表达式转化为后缀表达式并输出。输入格式:输入仅一行为中缀表达式,式中所有数字均为个位数,表达式长度小于1000。输出格式:输出一行,为后缀表达式,式中无空格。输入样哩:2+4*8+(8*8+1)/3输出样例: 248..

2022-03-20 22:53:49 1282

原创 PTA 切分表达式——写个tokenizer吧

[先说点出题背景]这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?请自行查询解决。反正在此处不应翻译成“令牌解析器”。[正题]四则运算表达式由运算数(必定包含数字,可能包含正或负符号、小数点)、运算符(包括+、-、*、/)以及小括号((和))组成,每个运算数、运算符和括..

2022-03-18 19:51:17 181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除