- 博客(81)
- 收藏
- 关注
原创 旅游区景点导航系统
武汉科技大学2023数据结构课程设计旅游区景点导游系统针对游客的不同需求,设计一款旅游区景点导游系统。基本功能及要求如下:提供用户操作的菜单和界面,实现系统的所有功能。旅游区所有景点信息,要求以文件的形式存储(如文本文件),格式自行设计。提供对旅游区所有景点信息的查询、编辑功能,可进行查找、添加、删除和修改等操作,修改后的信息需要保存回文件。提供旅游区当前景点显示功能,要求能显示游客当前所在景点及所有与游客所在景点相邻景点信息。
2023-05-15 12:18:17 1260 1
原创 LL(1)语法分析程序设计
编写一个语法分析程序,对于给定的输入串,能够判断识别该串是否为给定文法的句型。语法分析主要是将从词法分析那里得来的记号构成一棵语法树。1.熟悉判断LL(1)文法的方法及对某一输入串的分析过程。2.学会构造表达式文法的预测分析表。分析例句:aaabd#
2023-05-12 15:35:43 736
原创 BFS广搜解决迷宫问题
初识BFS:找出迷宫的最短路径题目描述有一个 m×n 格的迷宫(表示有 m 行、n 列),其中有可走的也有不可走的,如果用 1 表示可以走,2 表示不可以走,文件读入这 m×n 个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出一条最短路径。如果一条路都不可行,则输出"No Answer"输入格式第一行是两个数 m,n(1<m,n<50),接下来是 m 行 n 列由 1 和 2 组成的数据,最后一行是起始点和结束点。输
2022-01-24 00:03:10 434 1
原创 P1111 修复公路&P1195 口袋的天空
题目链接:https://www.luogu.com.cn/problem/P1111标签:并查集,最小生成树思路:本题用Kruskal算法拓展1:最小生成树之Kruskal算法思路模板:来源:https://www.luogu.com.cn/blog/LonecharmRiver/solution-p1111#include <iostream>using namespace std;int N, M, ans;//全局变量,函数也可以直接用,无需传参数str
2022-01-21 16:52:10 580
原创 P1323 删数问题
题目链接:https://www.luogu.com.cn/problem/P1323思路:1.构建一个小根堆,从小到大取数默认情况下,我们构建的优先队列是大根堆拓展1:了解优先队列的具体用法 C++中优先队列priority_queue的基础用法拓展2:了解大根堆、小根堆的具体含义 二叉堆 | 大根堆 小根堆大根堆小根堆的排序规则是functional头文件里面less和greater2.组成一个数用stringstream(流的输入输出操作)转换数据类型,把数字...
2022-01-20 19:30:43 275
原创 洛谷P1551 亲戚
题目链接:https://www.luogu.com.cn/problem/P1551标签:并查集AC代码:#include<iostream>using namespace std;int arr[5005];int f(int x){ if (x == arr[x]) return x; return f(arr[x]);}int main(){ int n, m, p; int i, a, b; cin >> n >> m
2022-01-19 21:38:27 273
原创 洛谷P1090 合并果子
一、题目链接:https://www.luogu.com.cn/problem/P1090标签:贪心,二叉堆,优先队列二、思路:最开始的思路:利用 sort() 将最小的两个果子堆合并,然后再次排序,不断重复直到只剩一堆。缺点:时间复杂度难以想象地高正确思路:利用堆里面的优先队列对果子堆进行操作,从而达到不用进行一个大的排序从而获得最小的两个数的效果。在默认情况下,数值越小的优先级越低,放入-x从而达到数值越小的数优先级越高,省去了自定义仿函数的操作。三、AC代码:
2022-01-17 17:08:47 604
原创 UVA 101 The 3n + 1 problem
题目链接:https://www.luogu.com.cn/problem/UVA100i和j的大小关系比较坑输出的时候,i和j的顺序需要和输入的时候一样思路:做法二:用map记录数字的周期,减少重复运算做法三:时间最快,把10000个数字的周期先打印出来目录做法一:模拟做法二:通过牺牲空间记忆数字来优化时间做法三:打表做法一:模拟#include<iostream>#include<algorithm>using namespa
2022-01-07 22:35:00 449
原创 约瑟夫以及其变体总结
题目链接:https://leetcode-cn.com/problems/elimination-game/本题与约瑟夫环类似,但又有区别。(疑问:解决约瑟夫环的最优方法是什么?)通过自己的观察:1.每执行一次操作后,剩下的数为等差数列2.不管n为多少,执行3次后,就只剩下一个数了(×)执行次数:⌊log2n⌋+13.n为奇数的时候,会删去末尾的数;n为偶数的时候,不会删去末尾的数自己有两个思路:1.草稿纸上推出公式(x)2.简化算法正确的思路:
2022-01-02 11:33:09 3505 4
原创 哈希表总结
例题1:LC 1.两数之和题目链接:https://leetcode-cn.com/problems/two-sum/class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> hashtable; for (int i = 0; i < nums.size(); ++
2022-01-01 18:11:23 528
原创 LC 2022. 将一维数组转变成二维数组
题目链接:https://leetcode-cn.com/problems/convert-1d-array-into-2d-array/class Solution {public: vector<vector<int>> construct2DArray(vector<int> &original, int m, int n) { vector<vector<int>> ans; if (
2022-01-01 15:36:21 497
原创 C++学习——看书
map的简单使用:#include<iostream>#include<map>using namespace std;int main(){ map<int,int> var1; var1[-5]=3; cout<<"收到是"<<var1[-5]<<endl; return 0;}
2022-01-01 15:01:21 540
原创 强化理解指针、指针数组和数组指针(从三味书屋到成华大道)
通过本文章的学习,您将学习到:1.对指针更加深入的理解2.什么是指针数组3.什么是数组指针Here We Go!上一篇文章:上课笔记-指针(从百草园到三味书屋)目录指针数组-字符串排序(不能输入)思路一:冒泡排序1思路二:自定义sort函数数组指针-字符串排序(适用性更强的字符串排序)写法一:strcpy写法写法二:由指针数组到数组指针写法三:自定义sort函数指针数组-字符串排序(不能输入)题目:对5个国家名进行排名思路一:冒泡排序思路
2021-12-25 10:03:11 608
原创 如何强迫scanf读取空格?
众所周知,scanf读到空格就停止了。究其根本,是因为scanf读到空格的时候以为你没有输入任何内容,于是就停止工作那如何强迫scanf读取空格呢?#include<stdio.h>int main(){ char a[20]; scanf("%[^\n]",a); puts(a); return 0;}解析:这里主要介绍一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那
2021-12-25 09:37:44 621
原创 汉诺塔-课本例题
#include<iostream>using namespace std;void move(int n,char from,char buf,char to){ if(n==1) printf("%c-->%c\n",from,to); else { move(n-1,from,to,buf); printf("%c-->%c\n",from,to); move(n-1,buf,fr.
2021-12-22 22:41:42 312
原创 期末复习-递归
#include <iostream>using namespace std;int max(int s[],int m){ int t=0; if (m==1) return s[0]; t=max(s,m-1); printf("t=%d\n",t); if (t>=s[m-1]) return t; else return s[m-1];}int main(){ int n; int a[10...
2021-12-16 18:41:04 777
原创 上课笔记-指针(从百草园到三味书屋)
求最大字符串拓展:strcmp函数详解https://blog.csdn.net/MQ0522/article/details/111226036?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163952814216780264015667%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163952814216780264015
2021-12-15 09:06:57 1541 1
原创 猫猫的幸福生活(思维题)
猫#include<stdio.h>#include<string.h>int a[205];int main(){ int T,n,i,cnt,t; //t表示状态 scanf("%d",&T); while(T--) { memset(a,0,sizeof(a)); cnt=0; t=0; scanf("%d",&n); for(i=0;i<n;..
2021-12-12 20:33:37 309
原创 489 Hangman Judge (UVA)
目录AC source code:Vocabulary:"turned over"is equal to elimination.AC source code:#include<iostream>#include<cstring>#include<cmath>#include<algorithm>using namespace std;char s[105];char b[105];int ma..
2021-11-25 20:55:19 163
原创 1339 Ancient Cipher(UVA)
No matter how encrypted it is, we can solve the problem as long as we find the essential characteristics.AC source code:#include<iostream>#include<cstring>#include<algorithm>using namespace std;char s1[1005],s2[1005];int c...
2021-11-25 20:00:30 181
原创 How to use the “memcpy“ function?
“memcpy”in the “string”header file can copy the contents in memory.And here is a simple examplein C++.#include<iostream>#include<cstring>//One example of the use of "memcpy".int main(){ char a[15]; char b[15]="Hello world!";...
2021-11-24 20:10:21 215 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人