- 博客(58)
- 收藏
- 关注
原创 数据结构大作业:散列法电话号码查找
本文使用散列法的组合实现了通过电话号码快速找出用户的信息(用户信息包括:手机号、姓名、班级、专业、住址等。)
2023-11-30 15:13:06
1555
原创 元宇宙:活在未来
元宇宙(Metaverse)是利用科技手段进行链接与创造的,与现实世界映射与交互的虚拟世界,具备新型社会体系的数字生活空间。
2022-07-29 10:25:58
301
1
原创 利用React实现评论功能
React功能之网页评论效果如图所示import React from 'react';import ReactDOM from 'react-dom';class App extends React.Component{ state = { comments:[ {id:1, name:"jack", content:"你好"}, {id:2, name:"rose", content:"板凳"}, {id:3, name:"tom", cont
2022-04-20 20:04:46
1118
原创 python之红楼梦词频统计并生成图云
一共三个文件Hlm.pystop_words.txt红楼梦.txt(tips: txt文件已放在文章最后)废话不多说,直接上效果图和代码:效果图Hlm.py 代码部分:import matplotlib.pyplot as pltimport jiebaimport wordcloudimport matplotlibmatplotlib.rcParams['font.sans-serif'] = ['simple'] #设置绘图字体def wordFreq(filepa
2022-03-28 09:41:36
9674
2
原创 python之扑克牌小游戏
题目描述有如下设计:lst_suit = [‘黑桃’,’红桃’,’梅花’,’方块’],存放了扑克牌的花色。lst_face = [‘3’,’4’,’5’,’6’,’7’,’8’,’9’,’10’,’J’,’Q’,’K’,’A’,’2’],存放了扑克牌的牌面大小。其元素已按照牌面大小升序排列。试编写程序,完成以下功能。题目要求利用列表生成式,将以上两个列表搭配生成所有的牌面。使用random库的shuffle函数将列表的次序打乱完成洗牌过程。根据已有游戏经验,完成一款小游戏设计。比大
2022-03-23 10:40:30
14232
1
原创 CCF CSP 201412-2
问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行Z字形扫描后得到长度为16的序列: 1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3 请实现一个Z字形扫描的程序,给定一个n×n的矩阵,输出对这个矩阵进行Z字形扫描的结果。输入格式 输入的第一行包含一个整数n
2021-07-17 16:14:04
151
原创 CCF CSP 201409-2
问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便。 给出所有要画的矩形,请问
2021-07-16 15:46:31
257
原创 SWUST OJ 1164: 导弹拦截之升级版
1164: 导弹拦截之升级版题目描述由于开始那个拦截系统太水、So… 经过11 年的韬光养晦,某国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截。但该导弹拦截系统也存在这样的缺陷:每套系统每天只能设定一次工作半径R。某天,雷达捕捉到敌国的导弹来袭,来袭导弹数目为N,导弹距离拦截系统的距离分别为a1,a2,a3,…,aN。最后所有成功拦截的导弹距离之和用S表示。而当天的使用代价用V表示,且V=R*N-S。请计算V最小时,R应该为多少? 为了向民众交代,至少成功拦截一枚
2021-07-16 09:42:20
153
原创 SWUST OJ 1163: 导弹拦截之测试版
1163: 导弹拦截之测试版题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹。输入多组测试数据; 对于每组数据共有两行:第一行一个n,表示导弹
2021-07-15 21:10:45
415
1
原创 SWUST OJ 254: 翻煎饼
标题254: 翻煎饼题目描述麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟。最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼整齐的叠在了一起。 这天,为了庆祝麦兜被保送上研究生,他从煎饼师傅那里买回来一些煎饼请客。但是麦兜买回的煎饼大小不一,麦兜太想吃煎饼了,他想吃这些煎饼中最大的那个。麦兜还知道同学们也很喜欢煎饼,为了表示他的诚意,他想让同学们先吃,麦兜最后吃,因此,麦兜想把煎饼按照从小到大的顺序叠放在一起,大的在最下面。这样麦兜
2021-07-15 19:40:08
1185
1
原创 SWUST OJ 291: 老鼠与猫的交易
291: 老鼠与猫的交易题目描述有一只老鼠很喜欢奶酪,但是奶酪被分别放在N个房间里,而且这些房间都有一只猫咪看守,现在它准备和猫咪们做个交易。它有M磅的猫食,想用这M磅猫食换取奶酪。在猫咪看守的每一个房间里有奶酪J[i]磅,同时猫咪需要F[i]磅的食物,如果老师给猫咪F[i]*a%的猫食,那么它就可以得到J[i]*a%的奶酪。现在已知每只猫咪对猫食的需求量和每个房间的奶酪数,那老鼠怎样才能换得最多的奶酪呢?输入第一行输入参数M和N,后面跟N行(每个房间的奶酪数和猫食的需求量)。在输入M和N为-1和
2021-07-14 18:38:39
302
1
原创 SWUST OJ 642: 俄式乘法
642: 俄式乘法题目描述俄式乘法,又被称为俄国农夫法,它是对两个正整数相乘的非主流算法。假设m和n是两个正整数,我们要计算它们的积。它的主要原理如下: if n is 偶数 n m=n/2 2m else n * m=(n-1)/2 + m 该算法只包括折半,加倍,相加等几个简单操作,因此实现速度非常快。具体计算如下图所示:输入两个正整数 n,m。输出n和m的乘积。输出整个求和表达式,运算符与数字之间用一个空格隔开。样例输入50 65样例输出130 + 1040 +
2021-07-14 17:24:44
399
原创 SWUST OJ 605: 格雷码
605: 格雷码题目描述在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环 特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小 化的编码方式,因为,自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要变,使数字电路产 生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它是
2021-07-14 17:12:06
265
原创 SWUST OJ 190: 游程编码
190: 游程编码题目描述游程编码又称“运行长度编码”或“行程长度编码”,是一种统计编码,该编码属于无损压缩编码。对于二值图有效。 RLE行程长度编码概述 目前, 压缩技术已经广泛应用于各种软件、声音、影像格式等领域。总的来说, 有两种截然不同的图像格式压缩类型: 有损压缩和无损压缩[1]。有损压缩利用视觉识别的原理可以大大地压缩文件的数据, 但是会影响图像质量。无损压缩的基本原理是相同的颜色信息只需保存一次, 可以删除一些重复数据, 大大减少要在磁盘上保存的图像的容量。无损压缩方法的优点是能够
2021-07-14 15:24:24
1447
原创 SWUST OJ 56: Hamming Distance
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.输入The input contains sever
2021-07-14 14:58:51
201
转载 MDN上一篇关于前端后端的文章
MDN上一篇关于前端后端的文章今天在MDN看到的一段前后端的比喻,看完脑海只有一个字:妙!连接到互联网的计算机被称作客户端和服务器。下面是一个简单描述它们如何交互的图表:客户端是典型的Web用户入网设备(比如,你连接了Wi-Fi的电脑,或接入移动网络的手机)和设备上可联网的软件(通常使用像 Firefox 和 Chrome的浏览器)。服务器是存储网页,站点和应用的计算机。当一个客户端设备想要获取一个网页时,一份网页的拷贝将从服务器上下载到客户端机器上来在用户浏览器上显示。除了客户端和服务器,
2021-07-08 14:11:38
166
原创 由free()函数引发的关于动态内存分配的思考
由free()函数引发的关于动态内存分配的思考前几天力扣刷题时无意中看到的这道(伪)动态内存分配题激起了我对内存的好奇心,我之前做链表和二叉树的时候遇到过malloc()函数,但是当时只知道他是用来分配空间的,具体怎么分配还是一头雾水,出现的free()更是让我一时懵逼,不知道注释在说什么,于是有了下面这篇了解动态内存分配博客的诞生:如图红框中的注释所示,Note: The returned array must be malloced, assume caller calls free().注意
2021-07-07 10:04:28
1595
原创 CCF CSP 202104-1
试题编号:202104-1试题名称:灰度直方图时间限制:1.0s内存限制:512.0MB样例输入4 4 160 1 2 34 5 6 78 9 10 1112 13 14 15样例输出1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1样例输入7 11 80 7 0 0 0 7 0 0 7 7 07 0 7 0 7 0 7 0 7 0 77 0 0 0 7 0 0 0 7 0 77 0 0 0 0 7 0 0 7 7...
2021-07-06 20:41:43
337
原创 SWUST OJ 1072: 有向图的邻接矩阵存储根计算
1072: 有向图的邻接矩阵存储根计算题目描述若有向图中存在一个顶点v,从v可以通过路径到达图中其他所有顶点,那么称v为该有向图的根。假设图G采用邻接矩阵存储,求有向图的所有根。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。输出有向图的所有根。样例输入50 1 0 0 00 0 1 1 00 0 0 1 01 0 0 0 11 0 0 0 0样例输出01234思路:一、标记,利用for循环从点V
2021-06-08 15:36:11
1138
1
原创 SWUST OJ 1076: 判断给定有向图是否存在回路
1076: 判断给定有向图是否存在回路题目描述判断给定有向图是否存在回路。输入第一行为图中顶点的个数n; 第二行为途中弧度条数e;第二行为顶点信息;接着e行为e条弧依附的两个顶点。输出该图是否存在回路,是输出yes;,不是输出no。样例输入44A B C DA BA CB DC D样例输出no#include<bits/stdc++.h>using namespace std;int m, n, flag=0;int a[100][100];i
2021-06-06 10:50:11
1492
原创 SWUST OJ 1071: 有向图的邻接矩阵存储顶点删除
1071: 有向图的邻接矩阵存储顶点删除题目描述假设有向图G采用邻接矩阵存储,要求删除某一个顶点i(包括与其相关连的边)。输入第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),第二个数表示被删除的顶点编号,接下来是为一个nn大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示邻接。输出新的邻接矩阵,第一行表示顶点的个数;第二行是剩余的结点编号;接下来是为一个(n-1)(n-1)大小的整数矩阵。样例输入5 20 1 0 1 00 0 1 1 00 0 0 0 00
2021-06-05 14:47:18
1052
2
原创 SWUST OJ 1069: 图的按录入顺序广度优先搜索
1069: 图的按录入顺序广度优先搜索题目描述图的广度优先搜索类似于树的按层次遍历,即从某个结点开始,先访问该结点,然后访问该结点的所有邻接点,再依次访问各邻接点的邻接点。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”–“Z”中的若干字符表示,且要求结点的访问顺序根据录入的顺序进行访问。如果结点录入的顺序为HUEAK,要求从H开始进行广度优先搜索,则可能的搜索结果为:H->E->A->U->K.输入第一行为一个整数n,表示顶点的个数,第二行为n个大写
2021-06-05 13:09:47
1652
原创 SWUST OJ 1068: 图的按录入顺序深度优先搜索
1068: 图的按录入顺序深度优先搜索题目描述图的深度优先搜索类似于树的先根遍历,即从某个结点开始,先访问该结点,然后深度访问该结点的第一棵子树,依次为第二顶子树。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”至“Z”中的若干字符表示,且要求结点的访问顺序根据录入的顺序进行访问。如果结点录入的顺序为HUEAK,从H开始进行深度优先搜索,则可能的搜索结果为:H->A->K->U>E.输入第一行为一个整数n,表示顶点的个数,第二行为n个大写字母构成的字符
2021-06-04 15:39:40
937
原创 SWUST OJ 1067: 有向图的邻接表存储强连通判断
1067: 有向图的邻接表存储强连通判断题目描述假设有向图G采用邻接表存储,设计一个算法,判断图G是否是强连通图。若是则返回yes;否则返回no。(图中顶点信息为整型数据。)输入第一行为图中顶点的个数n;第二行为图的边的条数e;接下来e行,每行是一条边依附的两个顶点信息。输出强连通图输出yes,否则输出no.样例输入570 11 21 32 33 03 44 0样例输出yes思路:连通图:任意两点都可达假如Vi到Vj连通,且Vj到Vk连通那么Vi到Vk也
2021-06-02 20:19:04
1724
3
原创 SWUST OJ 1065: 无向图的连通分量计算
1065: 无向图的连通分量计算题目描述假设无向图G采用邻接矩阵存储,编写一个算法求连通分量的个数。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示不邻接。输出连通分量的个数。样例输入50 1 0 1 11 0 1 1 00 1 0 1 11 1 1 0 11 0 1 1 0样例输出1#include<bits/stdc++.h>
2021-05-29 16:33:10
1392
4
原创 SWUST OJ 1064: 带权无向图存储判定
1064: 带权无向图存储判定题目描述假设无向图G采用邻接矩阵存储,判断输入数据格式是否正确(即是否为对称矩阵)。输入第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为大于0表示邻接值,-1表示不邻接,对角线为0。输出yes(正确),no(错误)。样例输入50 6 -1 22 16 0 1 1 -1-1 1 0 1 122 1 1 0 91 -1 1 9 0样例输出yes思路:对称阵,对角线两侧的元
2021-05-28 16:02:09
445
原创 SWUST OJ 1063: 带权有向图计算
1063: 带权有向图计算题目描述假设带权有向图G采用邻接矩阵存储,计算图的最大权值、最小权值以及对应的有向边。输入第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),第二行表示顶点i和j,接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为大于0表示邻接值,-1表示不邻接,对角线为0。输出第一行为最大权值,第二行为有向边。第三行为最小权值,第四行为有向边。由于OJ无法显示尖括号,所以这里用圆扩号来表示有序对。样例输入50 5 -1 23 -1-1 0 31 56 -1
2021-05-27 07:33:26
919
原创 SWUST OJ 1062: 有向图的边存在判断
1062: 有向图的边存在判断题目描述假设有向图G采用邻接矩阵存储,判断图G中是否存在边。输入第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),第二行表示顶点i和j,接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示不邻接。输出yes(存在),no(不存在)。样例输入50 20 1 0 1 00 0 1 1 00 0 0 0 00 0 0 0 01 0 0 1 0样例输出no思路:输入邻接矩阵,if判断两点UV是否连通即可。
2021-05-26 12:30:09
881
原创 SWUST OJ 1061: 有向图的k出度计算
1061: 有向图的k出度计算题目描述假设有向图G采用邻接矩阵存储,计算图G中出度为k的顶点数量,并输出顶点的编号。输入第一行第一个整数n表示顶点的个数(顶点编号为0到n-1),第二个数表示出度k,接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示不邻接。输出图G中出度为k顶点数量以及顶点编号。第一行表示出度为k顶点数量,第二行表示顶点的编号。样例输入5 20 1 0 1 00 0 1 1 00 0 0 0 00 0 0 0 01 0 0 1 0
2021-05-25 17:17:03
557
原创 SWUST OJ 1060: 无向图的最大度计算
1060: 无向图的最大度计算题目描述假设无向图G采用邻接矩阵存储,求出图G最大度值并输出顶点的编号(有多个结果的都要输出)。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1)。接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示邻接。输出图G中度的最大值以及顶点编号。第一行表示最大度值,第二行表示所有顶点的编号。样例输入50 1 0 1 11 0 1 1 10 1 0 1 11 1 1 0 11 1 1 1 0样例输出4134
2021-05-24 17:01:26
1774
原创 SWUST OJ 1059: 有向图的最大出度计算
1059: 有向图的最大出度计算题目描述假设有向图G采用邻接表存储,求出图G中出度最大的顶点,并输出顶点的编号(有多个结果的都要输出)。(顶点的数据元素为整型数据。)输入第一行为图中顶点的个数n; 第二行为图的边的条数e; 第三行为依附于一条边的两个顶点信息。输出图G中出度的最大值以及顶点编号。第一行表示最大出度,第二行表示所有顶点的编号。样例输入560 10 31 21 34 04 3样例输出2014思路:用数组存储每个顶点度数,用for循环找到最大度以及度
2021-05-23 20:58:00
1027
1
原创 SWUST OJ 1058: 无向图顶点度的计算
1058: 无向图顶点度的计算题目描述假设无向图G采用邻接矩阵存储,设计算法求出图G中每个顶点的度。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1)。接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示邻接。输出图G中每个顶点的度。第一行表示顶点0的度,其他行定义相同。样例输入50 1 0 1 11 0 1 1 00 1 0 1 11 1 1 0 11 0 1 1 0样例输出33343思路:利用嵌套for循环输入和统
2021-05-22 10:02:44
2672
原创 SWUST OJ 1057: 有向图的出度计算
1057: 有向图的出度计算题目描述假设有向图G采用邻接表存储,设计算法求出图G中每个顶点的出度。输入第一行为图中顶点的个数n 第二行为图的边的条数e 第三行为依附于一条边的两个顶点的数据信息。输出图G中每个顶点的出度。第一行表示顶点0的出度,其他行定义相同。样例输入560 10 31 21 34 04 3样例输出22002思路:用嵌套for循环统计每个结点的度。法一、奇技淫巧之二维数组#include<bits/stdc++.h>//
2021-05-21 19:19:09
2120
1
原创 SWUST OJ 1056: 邻接表到邻接矩阵
1056: 邻接表到邻接矩阵题目描述假设无向图G采用邻接表存储,编写一个算法输出邻接矩阵。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1)。第二行表示顶点0可直接到达的顶点编号,其他行定义相同。输出输出图G的邻接矩阵。整数矩阵大小为n*n,表示图的邻接关系。数字为0表示不邻接,1表示邻接。样例输入51 3 40 2 31 3 40 1 2 40 2 3样例输出0101110110010111110110110思路:1. 初始化邻接矩阵2. 输
2021-05-20 12:00:53
2013
原创 SWUST OJ 1055: 邻接矩阵到邻接表
1055: 邻接矩阵到邻接表题目描述假设无向图G采用邻接矩阵存储,编写一个算法输出邻接表。输入第一行为一个整数n,表示顶点的个数(顶点编号为0到n-1),接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为0表示不邻接,1表示邻接。输出输出图G的邻接表。第一行表示顶点0可直接到达的顶点编号。其他行定义相同。样例输入50 1 0 1 11 0 1 1 00 1 0 1 11 1 1 0 11 0 1 1 0样例输出1340231340124023图:
2021-05-19 22:17:15
1435
原创 SWUST OJ 1012: 哈希表(链地址法处理冲突)
1012: 哈希表(链地址法处理冲突)题目描述采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用链地址法。建立链表的时候采用尾插法。输入第一行为哈西表的长度m;第二行为关键字的个数n;第三行为关键字集合;第四行为要查找的数据。输出如果查找成功,输出该关键字所在哈希表中的地址和比较次数;如果查找不成功,输出-1。样例输入131316 74 60 43 54 90 46 31 29 88 77 78 7916样例输出3,1思路:链地址法:类似于拉链法
2021-05-18 12:07:19
8264
1
原创 SWUST OJ 986: 哈夫曼译码
986: 哈夫曼译码题目描述通常要求根据给定的编码本对密文进行解码。现已给定相应字符的哈夫曼编码,要求根据编码对密文进行解码。(建立哈夫曼树以及编码、主函数等都已经给出,你只需要填写译码函数void ccode(haffnode hafftree[],int n)即可。const int maxvalue=100;const int maxbit=100;const int maxn=100;#include “iostream”#include “stdio.h”#include “std
2021-05-16 01:00:53
1493
原创 SWUST OJ 1013: 哈希表(开放定址法处理冲突)
1013: 哈希表(开放定址法处理冲突)题目描述采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用开放定址法的线性探测。输入第一行为哈希表的长度n; 第二行为关键字的个数; 第三行为关键字集合; 第三行为要查找的数据。输出如果查找成功,输出关键字所哈希表中的地址和比较次数;如果查找不成功,输出-1。样例输入131116 74 60 43 54 90 46 31 29 88 7716样例输出3,1思路:哈希表的基本概念: 哈希表(Hash ta
2021-05-14 23:48:42
1581
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人