西南科技大学SWUST OJ
该专栏是西南科技大学SWUST OJ上的部分题,所有题目数据均来自西南科技大学SWUST OJ,主要是个人从大一开始自己写的。想借此机会和大家分享及作为个人记录。水平有限,仅供参考,谢谢!
无奈清风吹过
走过花海的小路,无奈只是清风吹过
展开
-
SWUST OJ 699: Arbitrage
套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币。例如,假定1 美元可以买0.7 英镑,1 英镑可以买9.5 法郎,且1 法郎可以买到0.16美元。通过货币兑换,一个商人可以从1 美元开始买入,得到0.7×9.5×0.16=1.064美元,从而获得6.4%的利润。 给定n 种货币c1 ,c2 ,… ,cn的有关兑换率,试设计一个有效算法,用以确定是否存在套汇的可能性。含多个测试数据项。每个测试数据项的第一行中只有1 个整数n (1< =n< =30),表示货币总数。其后n行给出n原创 2022-06-19 19:48:46 · 1886 阅读 · 0 评论 -
SWUST OJ 696: Soldiers
在一个划分成网格的操场上,n个士兵散乱地站在网格点上。网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、下、左、右移动一步,但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排列成(x,y),(x+1,y),…,(x+n-1,y)。如何选择x 和y的值才能使士兵们以最少的总移动步数排成一列。计算使所有士兵排成一行需要的最少移动步数。第1 行是士兵数n,1< =n< =10000。接下来n 行是士兵的位置,每行2个整数x和y,-10000< =x,y< =10000原创 2022-06-19 19:47:07 · 1528 阅读 · 0 评论 -
SWUST OJ 594: Maximum Tape Utilization Ratio
设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是li ,1 < = i < = n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。在保证存储最多程序的前提下还要求磁带的利用率达到最大。 对于给定的n个程序存放在磁带上的长度,编程计算磁带上最多可以存储的程序数和占用磁带的长度。第一行是2 个正整数,分别表示文件个数n ...原创 2022-06-19 19:43:52 · 1147 阅读 · 0 评论 -
SWUST OJ 411: 售货员的难题
某乡有n个村庄(1< n < 20),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0 < s < 1000)是已知的,且A村到B村与B村到A村的路大多不同。为了提高效率,他从商店出发到每个村庄一次,然后返回商店所在的村,假设商店所在的村庄为 1,他不知道选择什么样的路线才能使所走的路程最短。请你帮他选择一条最短的路。村庄数n和各村之间的路程(均是整数)。最短的路程3 {村庄数}0 2 1 {村庄1到各村的路程}1 0 2 {村庄2到各村的路程}2 1 0 {村庄3到各村的路程}3原创 2022-06-19 19:42:38 · 1579 阅读 · 0 评论 -
SWUST OJ 1139: Coin-row problem
There is a row of n coins whose values are some positive integers c₁, c₂,…,cn, not necessarily distinct. The goal is to pick up the maximum amount of money subject to the constraint that no two coins adjacent in the initial row can be picked up.Two lines,原创 2022-06-15 12:41:42 · 447 阅读 · 0 评论 -
SWUST OJ 1132: Coin-collecting by robot
Several coins are placed in cells of an n×m board. A robot, located in the upper left cell of the board, needs to collect as many of the coins as possible and bring them to the bottom right cell. On each step, the robot can move either one cell to the righ原创 2022-06-15 12:41:24 · 167 阅读 · 0 评论 -
SWUST OJ 697: Edit Distance
设A 和B 是2 个字符串。要用最少的字符操作将字符串A 转换为字符串B。这里所说的字符操作包括(1)删除一个字符;(2)插入一个字符;(3)将一个字符改为另一个字符。将字符串A变换为字符串B 所用的最少字符操作数称为字符串A到B 的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的2 个字符串A和B,计算出它们的编辑距离d(A,B)。第一行是字符串A,文件的第二行是字符串B。字符串长度不大于2000。输出距离d(A,B)fxpimuxwr5注意该程序仅供学习参考!...原创 2022-06-14 11:08:04 · 585 阅读 · 0 评论 -
SWUST OJ 195: Buyer
哆啦A梦班级举办个party,当然吃的东西必不可少,哆啦A梦负责采购任务,他得到了一份清单,上面注明不同食品的受欢迎程度,哆啦A梦需要用一定的价钱尽可能达到的更大的受欢迎程度!例如,瓜子的受欢迎程度为20,瓜子的价钱是50元,那么如果哆啦A梦选择买瓜子,将花费50元,但受欢迎程度增加了20。为了避免食品单调性,每种食品只能买一份,不能重复购买。 现在哆啦A梦需要知道如何采购才能达到最大的受欢迎程度,你能帮助他吗?输入数据为多组,每组输入的第一行有两个正整数M和N(M...原创 2022-06-14 11:06:03 · 769 阅读 · 0 评论 -
SWUST OJ 493: PostOffice
在一个按照东西和南北方向划分成规整街区的城市里,n个居民点散乱地分布在不同的街区中。用x 坐标表示东西向,用y坐标表示南北向。各居民点的位置可以由坐标(x,y)表示。 街区中任意2 点(x1,y1)和(x2,y2)之间的距离可以用数值|x1-x2|+|y1-y2|度量。 居民们希望在城市中选择建立邮局的最佳位置,使n个居民点到邮局的距离总和最小。 任务:给定n 个居民点的位置,编程计算n 个居民点到邮局的距离总和的最小值。第1 行是居民点数n,1 < = n < =10000。接下来n 行是居民原创 2022-06-14 11:04:21 · 591 阅读 · 0 评论 -
SWUST OJ 492: The Dutch flag problem
The Dutch flag problem is to rearrange an array of characters R, W,and B (red, white, and blue are the colors of the Dutch national flag) so that all the R’s come first, the W’s come next, and the B’s come last. Design a linear and stable algorithm for thi原创 2022-06-14 11:02:58 · 210 阅读 · 0 评论 -
SWUST OJ 446: 合并排序
这是一个很简单的排序题目. 为了锻炼大家对不同算法的了解,请大家用归并排序法对此题进行解答. 对一组整数数列A[1],A[2],A[3]…A[N]进行排序,按照从小到大的顺序输出.本题只有一组测试数据,在输入的第一行输入N(表示整数数列的大小)(N < 1000)接下来N行输入N个整数,每一行一个整数.对已经排好序的数从小到大依次输出,每两个数之间用两个空格隔开,且每输出10个数换行.1245545484744454857585748512554242 44 45 45 4原创 2022-06-14 11:01:45 · 619 阅读 · 0 评论 -
SWUST OJ 413: Quick Sort
Quicksort is a well-known sorting algorithm developed by C. A. R.Hoare that, on average, makes Θ(n log n) comparisons to sort n items. However, in the worst case, it makes Θ(n2) comparisons. Typically, quicksort is significantly faster in practice than oth原创 2022-06-14 11:00:28 · 1117 阅读 · 0 评论 -
SWUST OJ 342: 变位词
如果两个单词的组成字母完全相同,只是字母的排列顺序不一样,则它们就是变位词,两个单词相同也被认为是变位词。如tea 与eat , nic 与cin, ddc与dcd, abc与abc 等。你的任务就是判断它们是否是变位词。第一行一个N,表示下面有N行测试数据。每行测试数据包括两个单词,如tea eat ,它们之间用空格割开对于每个测试数据,如果它们是变位词,输出Yes,否则输出No.3tea eatddc cdddee ddeYesYesNo注意该程序仅供学习参考!...原创 2022-06-14 10:59:02 · 868 阅读 · 0 评论 -
SWUST OJ 536: The Josephus Problem
The problem is named after Flavius Josephus, a Jewish historian who participated in and chronicled the Jewish revolt of 66-70C.E. against the Romans. Josephus, as a general, managed to hold the fortress of Jotapata for 47days, but after the fall of the cit原创 2022-06-14 10:56:01 · 506 阅读 · 0 评论 -
SWUST OJ 480: Locker doors
There are n lockers in a hallway numbered sequentially from 1 to n. Initially, all the locker doors are closed. You make n passes by the lockers, each time starting with locker #1. On the ith pass, i = 1, 2, ..., n, you toggle the door of every ith locker:原创 2022-06-14 10:53:09 · 667 阅读 · 0 评论 -
SWUST OJ 348: 花生采摘
鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。 鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。...原创 2022-06-14 10:50:17 · 1345 阅读 · 0 评论 -
SWUST OJ 1164: 导弹拦截之升级版
题目描述由于开始那个拦截系统太水、So… 经过11 年的韬光养晦,某国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截。但该导弹拦截系统也存在这样的缺陷:每套系统每天只能设定一次工作半径R。某天,雷达捕捉到敌国的导弹来袭,来袭导弹数目为N,导弹距离拦截系统的距离分别为a1,a2,a3,…,aN。最后所有成功拦截的导弹距离之和用S表示。而当天的使用代价用V表示,且V=R*N-S。请计算V最小时,R应该为多少? 为了向民众交代,至少成功拦截一枚导弹,如果R有多个解,只保留最原创 2022-01-13 15:48:42 · 133 阅读 · 0 评论 -
SWUST OJ 1163: 导弹拦截之测试版
题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹。原创 2022-01-13 15:48:36 · 263 阅读 · 0 评论 -
SWUST OJ 254: 翻煎饼
题目描述麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟。最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼整齐的叠在了一起。 这天,为了庆祝麦兜被保送上研究生,他从煎饼师傅那里买回来一些煎饼请客。但是麦兜买回的煎饼大小不一,麦兜太想吃煎饼了,他想吃这些煎饼中最大的那个。麦兜还知道同学们也很喜欢煎饼,为了表示他的诚意,他想让同学们先吃,麦兜最后吃,因此,麦兜想把煎饼按照从小到大的顺序叠放在一起,大的在最下面。这样麦兜就可以在最后拿到最大的原创 2022-01-13 15:48:26 · 676 阅读 · 0 评论 -
SWUST OJ 642: 俄式乘法
题目描述俄式乘法,又被称为俄国农夫法,它是对两个正整数相乘的非主流算法。假设m和n是两个正整数,我们要计算它们的积。它的主要原理如下: if n is 偶数 n m=n/2 2m else n * m=(n-1)/2 + m 该算法只包括折半,加倍,相加等几个简单操作,因此实现速度非常快。具体计算如下图所示:...原创 2022-01-12 21:01:39 · 595 阅读 · 0 评论 -
SWUST OJ 605: 格雷码
题目描述在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环 特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小 化的编码方式,因为,自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要变,使数字电路产 生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它是一种数字排序系统,原创 2022-01-12 21:01:25 · 170 阅读 · 0 评论 -
SWUST OJ 291: 老鼠与猫的交易
题目描述有一只老鼠很喜欢奶酪,但是奶酪被分别放在N个房间里,而且这些房间都有一只猫咪看守,现在它准备和猫咪们做个交易。它有M磅的猫食,想用这M磅猫食换取奶酪。在猫咪看守的每一个房间里有奶酪J[i]磅,同时猫咪需要F[i]磅的食物,如果老师给猫咪F[i]*a%的猫食,那么它就可以得到J[i]*a%的奶酪。现在已知每只猫咪对猫食的需求量和每个房间的奶酪数,那老鼠怎样才能换得最多的奶酪呢?输入第一行输入参数M和N,后面跟N行(每个房间的奶酪数和猫食的需求量)。在输入M和N为-1和-1时程序终止。原创 2022-01-13 15:48:17 · 158 阅读 · 0 评论 -
SWUST OJ 190: 游程编码
题目描述游程编码又称“运行长度编码”或“行程长度编码”,是一种统计编码,该编码属于无损压缩编码。对于二值图有效。 RLE行程长度编码概述 目前, 压缩技术已经广泛应用于各种软件、声音、影像格式等领域。总的来说, 有两种截然不同的图像格式压缩类型: 有损压缩和无损压缩[1]。有损压缩利用视觉识别的原理可以大大地压缩文件的数据, 但是会影响图像质量。无损压缩的基本原理是相同的颜色信息只需保存一次, 可以删除一些重复数据, 大大减少要在磁盘上保存的图像的容量。无损压缩方法的优点是能够比较好地保存图像的质原创 2022-01-12 21:01:13 · 658 阅读 · 0 评论 -
SWUST OJ 56: Hamming Distance
题目描述Have you ever heard of the Hamming distance? It is the number of positions for which the corresponding digits differ. Your task is to write a program that computes this distance for two binary strings.原创 2022-01-12 21:00:56 · 3381 阅读 · 0 评论 -
SWUST OJ 580: The World Population Explosion
题目描述In the past, when population grew, there was unexplored territory to inhabit. But now, almost all the habitable land has been explored. The world’s population may reach 8.7 billion in 2033. It is clear that world population is a serious issue that nee原创 2022-01-12 21:00:40 · 1026 阅读 · 0 评论 -
SWUST OJ 171: 字符串的倒序
题目描述设计函数,实现字符串的倒序输出。输入输出样例输入TomorrowYesterdayTodayTomorrowisantherday!Debug\ee.exeee-MicrosoftVisualC+±[ee.cpp]样例输出worromoTyadretseYyadoT!yadrehtnasiworromoTexe.ee\gubeD]ppc.ee[-++ClausiVtfosorciM-ee原创 2022-01-12 21:00:24 · 860 阅读 · 1 评论 -
SWUST OJ 619: 蟠桃记
题目描述喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题! 什么问题?他研究的问题是蟠桃一共有多少个! 不过,到最后,他还是没能解决这个难题,呵呵- 当时的情况是这样的: 第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?原创 2022-01-12 21:00:12 · 235 阅读 · 0 评论 -
SWUST OJ 148: 陶陶摘苹果
题目描述陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。原创 2022-01-12 20:59:59 · 896 阅读 · 0 评论 -
SWUST OJ 1105: 交换二叉树的子结点
题目描述编程程序实现将二叉树中所有结点的左右孩子互换。输入二叉树的先序序列(输入先序序列建立二叉树)。输出第一行为交换后的二叉树的中序序列第二行为交换后的二叉树的先序序列原创 2022-01-12 20:59:47 · 480 阅读 · 0 评论 -
SWUST OJ 1099: 希尔排序算法实现
题目描述编程实现希尔排序算法,按照非递减排序,测试数据为整数。输入第一行是待排序数据元素的个数n;第二行是待排序的数据元素。输出一趟希尔排序后的结果。原创 2022-01-12 20:59:27 · 286 阅读 · 0 评论 -
SWUST OJ 1098: 堆的判断
题目描述编写程序判断以下给出的整数序列是否为最小堆。输入第一行是元素的个数n;第二行是n个整数序列。输出如果是小根堆,输出Yes,否者输出No。原创 2022-01-10 09:15:00 · 432 阅读 · 0 评论 -
SWUST OJ 1077: 平衡二叉树的判定
题目描述编写程序判断给定的二叉树是否是平衡二叉树。输入二叉树的先序序列。输出如果是平衡二叉树,输出yes!,否者输出no!原创 2022-01-10 09:00:00 · 294 阅读 · 0 评论 -
SWUST OJ 1076: 判断给定有向图是否存在回路
题目描述判断给定有向图是否存在回路。输入第一行为图中顶点的个数n; 第二行为途中弧度条数e;第三行为顶点信息;接着e行为e条弧依附的两个顶点。输出该图是否存在回路,是输出yes,不是输出no。原创 2022-01-10 08:45:00 · 557 阅读 · 0 评论 -
SWUST OJ 1075: 求最小生成树(Prim算法)
题目描述求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。原创 2022-01-10 08:30:00 · 680 阅读 · 0 评论 -
SWUST OJ 1072: 有向图的邻接矩阵存储根计算
题目描述若有向图中存在一个顶点v,从v可以通过路径到达图中其他所有顶点,那么称v为该有向图的根。假设图G采用邻接矩阵存储,求有向图的所有根。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。输出有向图的所有根。原创 2022-01-10 08:15:00 · 184 阅读 · 0 评论 -
SWUST OJ 1071: 有向图的邻接矩阵存储顶点删除
题目描述假设有向图G采用邻接矩阵存储,要求删除某一个顶点i(包括与其相关连的边)。输入第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),第二个数表示被删除的顶点编号,接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示邻接。输出新的邻接矩阵,第一行表示顶点的个数;第二行是剩余的结点编号;接下来是为一个(n-1)*(n-1)大小的整数矩阵。原创 2022-01-10 08:00:00 · 528 阅读 · 0 评论 -
SWUST OJ 1070: 邻接矩阵存储简单路径
题目描述假设无向图G采用邻接矩阵存储,设计一个算法,输出图G中从顶点u到v的所有简单路径。输入简单路径是指路径上的顶点不重复。第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),第二行表示顶点u和v的编号,接下来是为一个n*n大小的矩阵,表示图的邻接关系。数字为0表示不邻接,1表示不邻接。输出输出图G中从顶点u到v的所有简单路径。原创 2022-01-10 07:45:00 · 1365 阅读 · 0 评论 -
SWUST OJ 1069: 图的按录入顺序广度优先搜索
题目描述图的广度优先搜索类似于树的按层次遍历,即从某个结点开始,先访问该结点,然后访问该结点的所有邻接点,再依次访问各邻接点的邻接点。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”–“Z”中的若干字符表示,且要求结点的访问顺序根据录入的顺序进行访问。如果结点录入的顺序为HUEAK,要求从H开始进行广度优先搜索,则可能的搜索结果为:H->E->A->U->K.原创 2022-01-10 07:30:00 · 209 阅读 · 0 评论 -
SWUST OJ 1068: 图的按录入顺序深度优先搜索
题目描述图的深度优先搜索类似于树的先根遍历,即从某个结点开始,先访问该结点,然后深度访问该结点的第一棵子树,依次为第二顶子树。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”至“Z”中的若干字符表示,且要求结点的访问顺序根据录入的顺序进行访问。如果结点录入的顺序为HUEAK,从H开始进行深度优先搜索,则可能的搜索结果为:H->A->K->U>E.原创 2022-01-10 07:15:00 · 479 阅读 · 0 评论 -
SWUST OJ 1067: 有向图的邻接表存储强连通判断
题目描述假设有向图G采用邻接表存储,设计一个算法,判断图G是否是强连通图。若是则返回yes;否则返回no。(图中顶点信息为整型数据。)输入第一行为图中顶点的个数n;第二行为图的边的条数e;接下来e行,每行是一条边依附的两个顶点信息。输出强连通图输出yes,否则输出no.原创 2022-01-10 07:00:00 · 285 阅读 · 0 评论