- 博客(221)
- 收藏
- 关注
原创 D - 表达式语法分析——递归子程序法
Description递归子程序法是一种确定的自顶向下语法分析方法,要求文法是LL(1)文法。它的实现思想是对应文法中每个非终结符编写一个递归过程,每个过程的功能是识别由该非终结符推出的串,当某非终结符的产生式有多个候选式时能够按LL(1)形式唯一地确定选择某个候选式进行推导。请根据下面的表达式LL(1)文法,构造递归子程序,完成对表达式的语法分析。表达式文法如下:E→TGG→+TG | εT→FSS→*FS | εF→(E) | i对于给定的输入串(长度不超过50个符号),请输出
2022-03-25 20:35:11
1030
原创 字符串的输入输出处理
题目描述字符串的输入输出处理。输入第一行是一个正整数N,最大为100。之后是多行字符串(行数大于N), 每一行字符串可能含有空格,字符数不超过1000。输出先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。每行输出之间输出一个空行。样例输入2www.dotcpp.com DOTCPPA C MD O T CPP样例输出www.dotcpp.com DOTCPPA C MDOTCPP#include <ios
2022-03-05 00:40:32
757
原创 A - 小C语言--词法分析程序
Description小C语言文法<程序>→<main关键字>(){<声明序列><语句序列>}<声明序列>→<声明序列><声明语句>|<声明语句>|<空><声明语句>→<标识符表>;<标识符表>→<标识符>,<标识符表>|<标识符><语句序列>→<语句序列><语句>
2022-03-05 00:28:51
429
原创 字符逆序。
题目描述将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。输入输入包括一行。 第一行输入的字符串。输出输出转换好的逆序字符串。样例输入I am a student样例输出tneduts a ma I#include <iostream>#include <cstring>//☆☆☆using namespace std;int main(){ char a[100], i, n; gets(a); n = s
2022-02-14 11:59:12
581
原创 用筛法求之N内的素数。
题目描述用筛法求之N内的素数。输入N输出0~N的素数样例输入100样例输出2357111317192329313741434753596167717379838997#include <iostream>#include <math.h>using namespace std;int main(){ int n; int flag; scanf("%d", &n); f
2022-02-14 11:45:54
581
原创 Hello, world
题目描述This is the first problem for test. Since all we know the ASCII code, your job is simple: Input numbers and output corresponding messages.输入The input will contain a list of positive integers separated by whitespaces(spaces, newlines, TABs). Please p
2022-02-14 11:02:35
333
原创 母牛的故事
母牛的故事题目描述有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?输入输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。输出对于每个测试实例,输出在第n年的时候母牛的数量。每个输出占一行。样例输入2450样例输出246题目分析根据年份和母牛数量的关系可以看出第三年及之前母牛数量和年份一致
2022-02-07 16:56:25
124
原创 计算器.py
import tkinterimport decimalimport mathclass KeyValue: def __init__(self, key_): self.key_ = key_ self.flag = 0 def del_(self):#删除,如果save不为空则删除栈顶元素,否则pass if save: save.pop() else: pass
2022-01-18 10:35:13
263
原创 Bank小项目(控制台)
Dao–>Dao.Impl–>Biz–>Main数据访问层 业务逻辑层 表示层实体类:Account:账户编号、姓名、金额Log:日志编号、账户编号、姓名、金额、时间时间类自定义异常类Dao层:BaseDao作为连接数据库的方法方便后面直接调用AccountDao:向account表中增加一条记录从account表根据accid列查询该账户信息在account表中修改一条记录,根据accid将money列变化value元从account表中删除一条记录,.
2021-08-23 18:05:27
313
原创 GUI基础分享(部分组件)
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。先上一个简单的窗口(Frame)import java.awt.Color;import java.awt.Frame;public class TestFrame { public static void main(String[] args) { //Frame Frame frame = new Frame("我的第一个java图像界面窗口")
2021-08-09 11:19:39
429
原创 Java内存分析
逻辑上的划分:栈内存,堆内存,方法区。a)栈内存:局部变量或变量名称,栈结构(先进后出),空间较小,用完后自动销毁。b)堆内存:存放对象,空间较大,垃圾回收器(GC)回收垃圾。c)方法区:存放类信息,方法信息,常量从main方法开始分析代码。先对照上面的定义,看一个简单的实例:上代码public class Person { int id; int age; public static void main(String[] args) { Person p1 = new Perso
2021-02-22 19:20:44
400
原创 接口和抽象类的区别:
► 抽象类和接口均包含抽象方法,类必须实现所有的抽象方法,否则是抽象类►抽象类和接口都不能实例化,他们位于继承树的顶端,用来被其他类继承和实现两者的区别主要体现在两方面:语法方面和设计理念方面语法方面的区别是比较低层次的,非本质的,主要表现在:►接口中只能定义全局静态常里,不能定义变里。抽象类中可以定义常里和变里。►接口中所有的方法都是全局抽象方法。抽象类中可以有0个、1个或多个。甚至全部都是抽象方法。►抽象类中可以有构造方法,但不能用来实例化s而在子类实例化是执行,完成属于抽象类的初始化操作。接
2021-02-06 15:49:40
153
原创 数据结构实验之排序三:bucket sort
数据结构实验之排序三:bucket sortDescription根据人口普查结果,知道目前淄博市大约500万人口,你的任务是帮助人口普查办公室按年龄递增的顺序输出每个年龄有多少人,其中不满1周岁的按0岁计算,1到2周岁的按1岁计算,依次类推,大于等于100岁的老人全部按100岁计算。Input输入第一行给出一个正整数N(<=5000000),随后连续给出N个整数表示每个人的年龄,数字间以空格分隔。Output按年龄递增的顺序输出每个年龄的人口数,人口数为0的不输出,每个年龄占一行,数字间
2020-12-19 00:27:16
207
1
原创 数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序Description冒泡排序和快速排序都是基于"交换"进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。Input连续多组输入数据,每组数据第一行给出正整数N(N ≤ 10^5),随后给出N个整数,数字间以空格分隔。Output输出数据占一行,代表冒泡排序和快速排序进行排序分别需要的交换次数,数字间以1个空格分隔,行末不得有多余空格。SampleInput849 38 6
2020-12-19 00:07:04
313
1
原创 数据结构实验之排序一:一趟快排
数据结构实验之排序一:一趟快排Description给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。Input连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。Output输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。SampleInput849 38 65 97 76 13 27 49Output27 38 13 49 76 97 65 4
2020-12-18 16:47:09
494
1
原创 土拨鼠掷鼬鼠
土拨鼠掷鼬鼠Description神奇的土拨鼠今天又很乖的皮的玩起了鼬鼠,今天依旧是掷鼬鼠。土拨鼠忘记了自己家周围有着 nn 圈的着火带。已知距离土拨鼠 r[i]r[i] (1 \leqslant i \leqslant n)(1⩽i⩽n) 的位置处有一圈着火地带。现在土拨鼠有 mm 次投掷,告诉你它投掷的距离 L[i]L[i] (1 \leqslant i \leqslant m)(1⩽i⩽m),问你当前投掷的鼬鼠会不会解脱 gg 掉,也就是落在着火地带上(当前仅当 L[i]L[i] == r[j]r
2020-12-18 01:05:47
366
原创 TimesIsMoney
TimesIsMoneyDescription给你一个序列,有N个整数(int以内),判断一个数在这个序列中出现几次。Input多组输入,输入到文件结尾首先输入一个n,然后输入n个整数。在输入一个m,代表查询的个数 ,然后输入m个数(int以内)。n,m <= 100000;Output对应每一次查询,输出这个数在序列中出现几次。SampleInput51 2 2 3 532 4 5Output201Hintmap+桶排序#include <bits/
2020-12-18 00:44:05
140
原创 数据结构实验:哈希表
数据结构实验:哈希表Description在n个数中,找出出现次数最多那个数字,并且输出出现的次数。如果有多个结果,输出数字最小的那一个。Input单组数据,第一行数字n(1<=n<=100000)。接下来有n个数字,每个数字不超过100000000Output出现次数最多的数字和次数。SampleInput31 1 2Output1 2Hint此题可采用除留余数法#include <stdio.h>#include <stdlib.h>
2020-12-17 23:33:24
542
原创 查找练习 hash——出现过的数字
查找练习 hash——出现过的数字Description有一个数据字典,里面存有n个数字(n<=100000),小明现在接到一个任务,这项任务看起来非常简单——给定m个数字,分别查询这m个数字是否出现在字典之中;但是考虑到数据量的问题,小明找到了善于编程的你,希望你可以帮他解决这个问题。Input输入数据只有一组!第一行包含两个整数n m,分别代表字典中数字的个数和要查询的数字的个数。接着n行代表字典中的n个数字。最后m表示要查询的数字。Output如果某个数字存在,则输出YES,否
2020-12-16 22:30:15
341
原创 二分练习
二分练习Description给你一个序列,然后给你m个元素,让你从序列中找出与每个元素最接近的数字输出来,如果有两个就输出两个。Input多组输入,第一行给你两个数n(0 < n < 10000000),m(0 < m < n),接下来是数列的n个数,然后再输入m个元素,让你找出最接近每个元素的值。如果有两个,按从小到大输出。Output这m个数分别输出最接近每个元素的值,组与组之间输出一个空行。SampleInput8 41 2 3 4 5 6 8 114
2020-12-16 12:33:48
243
原创 数据结构实验之查找七:线性之哈希表
数据结构实验之查找七:线性之哈希表Description根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。Input连续输入多组数据,每组输入数据第一行为两个正整数N(N <= 1500)和p(p >= N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正整数关键字,数字间以空格间隔。Output输出每个关键字在hash表中的位置,以空
2020-12-15 23:55:44
181
原创 数据结构实验之查找五:平方之哈希表
数据结构实验之查找五:平方之哈希表Description给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,…,m-1Input输入包含多组测试数据,到 EOF 结束。每组数据的第1行给出两个正整数N(N <= 500)和P(P >= 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的正整数,数据之间
2020-12-15 22:17:19
126
原创 数据结构实验之查找六:顺序查找
数据结构实验之查找六:顺序查找Description在一个给定的无序序列里,查找与给定关键字相同的元素,若存在则输出找到的元素在序列中的位序和需要进行的比较次数,不存在则输出"No",序列位序从1到n,要求查找从最后一个元素开始,序列中无重复元素。Input连续多组数据输入,每组输入数据第一行首先输入两个整数 n (n <= 10^6) 和 k (1 <= k <= 10^7),n是数组长度,k是待查找的关键字,然后连续输入n个整数 ai (1 <= ai <= 10^
2020-12-14 23:16:05
642
原创 数据结构实验之查找四:二分查找
数据结构实验之查找四:二分查找Description在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。Input一组输入数据,输入数据第一行首先输入两个正整数n ( n < = 10^6 )和m ( m < = 10^4 ),n是数组中数据元素个数,随后连续输入n个正整数,输入的数据保证数列递增。随后m行输入m个待查找的关键字keyOutput若在给定的序列中能够找到与关键字key相等的元素,则输出位序(序号从0开始),否则输出
2020-12-14 22:53:26
417
原创 数据结构实验之查找三:树的种类统计
数据结构实验之查找三:树的种类统计Description随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。Input输入一组测试数据。数据的第1行给出一个正整数N (n <= 100000),N表示树的数量;随后N行,每行给出卫星观测到的一棵树的种类名称,树的名称是一个不超过20个字符的字符串,字符串由英文字母和空格组成,不区分大小写。Output按字典序输出各种树的种类名称和它占的百分比,中间以空格间隔,小
2020-12-14 12:06:14
358
原创 数据结构实验之查找二:平衡二叉树
数据结构实验之查找二:平衡二叉树Description根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。Input输入一组测试数据。数据的第1行给出一个正整数N(n <= 20),N表示输入序列的元素个数;第2行给出N个正整数,按数据给定顺序建立平衡二叉树。Output输出平衡二叉树的树根。SampleInput588 70 61 96 120Output70#include <stdio.h>#include <stdlib.h>
2020-12-14 11:20:34
211
原创 数据结构实验之查找一:二叉排序树
数据结构实验之查找一:二叉排序树Description对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否能生成一样的二叉排序树。Input输入包含若干组测试数据。每组数据的第1行给出两个正整数N (n < = 10)和L,分别是输入序列的元素个数和需要比较的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序
2020-12-13 21:58:55
655
原创 老鼠走迷宫
老鼠走迷宫Description现在一只老鼠被困在了迷宫里!你需要判断老鼠能否走出迷宫。老鼠只能向上下左右四个方向移动。我们认为只要老鼠走到了迷宫的边界即算走出迷宫。Input第一行输入两个整数 nn, mm (1 \leqslant n, m \leqslant 100)(1⩽n,m⩽100) 表示迷宫地图的尺寸。接下来输入 nn 行,每行 mm 个字符,表示迷宫地图。其中 M 表示老鼠的位置,* 代表墙壁,. 代表空地。Output如果老鼠可以走出迷宫,则输出一行 Yes,否则输出一行
2020-12-01 20:38:01
581
原创 病毒扩散
病毒扩散Description2019-ncov的突然出现扰乱了人们的日常生活,它具有极强的传染性,可以快速的在人群中扩散,现在研究人员正在模拟其在人群中的扩散情况.在一个n*m矩阵所示的人群中,*为普通人,#为佩戴口罩的人,@为病毒携带者,已知每秒每位病毒携带者会将病毒传染给相邻八个方向的未戴口罩的普通人。请问 x 秒后会有多少名传染者(初始为第0秒)?Input第一行输入空格分隔的三个数n,m,x代表n行,m列的空间,x秒(n,m<=1000)。接下来n行每行m人如上述所示。Outp
2020-12-01 20:37:56
445
原创 New Game
New GameDescriptionNew game是在一个M*M的特殊棋盘(棋盘的第i行都标上了数字i)上进行的新式游戏。给定一个数字N,要求选手把一个棋子从左上角(1,1)移到右下角(M,M),移动时只能往右或往下。要求移动后经过的数字和为N,且拐弯的次数最少。如果对给出的N,选手不能找出移动方案使得经过的数字和为N或找出的路径拐弯次数不是最少,选手就输了。所以,选手一定千方百计要找出满足条件的路径!!Input两个正整数M,N(其中M<=16),数据保证有解。Output最少拐弯
2020-12-01 20:37:50
153
原创 魔戒
魔戒Description蓝色空间号和万有引力号进入了四维水洼,发现了四维物体–魔戒。这里我们把飞船和魔戒都抽象为四维空间中的一个点,分别标为 “S” 和 “E”。空间中可能存在障碍物,标为 “#”,其他为可以通过的位置。现在他们想要尽快到达魔戒进行探索,你能帮他们算出最小时间是最少吗?我们认为飞船每秒只能沿某个坐标轴方向移动一个单位,且不能越出四维空间。Input输入数据有多组(数据组数不超过 30),到 EOF 结束。每组输入 4 个数 x, y, z, w 代表四维空间的尺寸(1 <
2020-12-01 20:37:44
258
原创 数据结构实验之图论七:驴友计划
数据结构实验之图论七:驴友计划Description做为一个资深驴友,小新有一张珍藏的自驾游线路图,图上详细的标注了全国各个城市之间的高速公路距离和公路收费情况,现在请你编写一个程序,找出一条出发地到目的地之间的最短路径,如果有多条路径最短,则输出过路费最少的一条路径。Input连续T组数据输入,每组输入数据的第一行给出四个正整数N,M,s,d,其中N(2 <= N <= 500)是城市数目,城市编号从0~N-1,M是城市间高速公路的条数,s是出发地的城市编号,d是目的地的城市编号;随后
2020-11-29 09:59:51
191
原创 数据结构实验之图论十:判断给定图是否存在合法拓扑序列
数据结构实验之图论十:判断给定图是否存在合法拓扑序列Description给定一个有向图,判断该有向图是否存在一个合法的拓扑序列。Input输入包含多组,每组格式如下。第一行包含两个整数n,m,分别代表该有向图的顶点数和边数。(n<=10)后面m行每行两个整数a b,表示从a到b有一条有向边。Output若给定有向图存在合法拓扑序列,则输出YES;否则输出NO。SampleInput1 02 21 22 1OutputYESNO#include <stdio.
2020-11-25 23:51:07
284
原创 数据结构实验之图论九:最小生成树
数据结构实验之图论九:最小生成树Description有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。Input输入包含多组数据,格式如下。第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n <= 100, m <=10000)剩下m行每行3个非负整数a b c,代表城市a 和城市b之间可以修建一条公路,代价为c(城市编号从1到n)。Outpu
2020-11-23 23:38:49
534
原创 数据结构实验之图论八:欧拉回路
数据结构实验之图论八:欧拉回路Description在哥尼斯堡的一个公园里,有七座桥将普雷格尔河中两个岛及岛与河岸连接起来。能否走过这样的七座桥,并且每桥只走一次?瑞士数学家欧拉最终解决了这个问题并由此创立了拓扑学。欧拉通过对七桥问题的研究,不仅圆满地回答了哥尼斯堡七桥问题,并证明了更为广泛的有关一笔画的三条结论,人们通常称之为欧拉定理。对于一个连通图,通常把从某结点出发一笔画成所经过的路线叫做欧拉路。人们又通常把一笔画成回到出发点的欧拉路叫做欧拉回路。具有欧拉回路的图叫做欧拉图。你的任务是:对于给
2020-11-23 22:07:05
394
2
原创 数据结构实验之图论六:村村通公路
数据结构实验之图论六:村村通公路Description当前农村公路建设正如火如荼的展开,某乡镇政府决定实现村村通公路,工程师现有各个村落之间的原始道路统计数据表,表中列出了各村之间可以建设公路的若干条道路的成本,你的任务是根据给出的数据表,求使得每个村都有公路连通所需要的最低成本。Input连续多组数据输入,每组数据包括村落数目N(N <= 1000)和可供选择的道路数目M(M <= 3000),随后M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个村庄的编号和修建该道路
2020-11-21 21:38:08
472
原创 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
数据结构实验之图论五:从起始点到目标点的最短步数(BFS)Description在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1…n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻击;如果可以的话,最少需要经过多少通道。由于n的
2020-11-20 22:35:41
325
原创 数据结构实验之图论四:迷宫探索
数据结构实验之图论四:迷宫探索Description有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点?Input连续T组数据输入,每组数据第一行给出三个正整数,分别表示地下迷宫的结点数N(1 < N <= 1000)、边数M(M <= 3000)和起始结点编号S,随后M行对应M条边,每行给出一对正整数,表示一条边相关联的两个顶点的编号。Output若可以点亮所有结点的灯,则输出从S开
2020-11-20 20:04:12
412
原创 数据结构实验之图论三:判断可达性
数据结构实验之图论三:判断可达性Description在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1…n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻击。由于n的值比较大(n<=1000),于是巫妖王找到了擅长编程的你
2020-11-20 20:04:00
280
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人