
C++
FreshHhand
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
实验六:巧克力问题
巧克力问题: 有袋子里均匀地装着 c 种颜色的巧克力,每种巧克力均有无限多。每次从袋子里拿一块 放在桌子上,如果桌子上已经有一块颜色相同的巧克力,就把两块巧克力都吃掉。一共 取出了 n 块巧克力,问:最后桌子上有 m 块的概率为多大。例如 c=5,n=100,m=2 时,概 率为 0.625。#include<iostream>using namespace std;double c; //c种颜色double d...原创 2022-01-01 16:42:18 · 1170 阅读 · 0 评论 -
实验一:骑士游历问题(国际象棋)
在国际棋盘上使一个骑士遍历所有的格子一遍且仅一遍,对于任意给定的顶点, 输出一条符合上述要求的路径。#include<iostream>#include<iomanip>using namespace std;const int N = 8; //棋盘维数int travel[8][8] = { 0 }; //记录骑士的游历过程,如果是0未被访问,否则为骑士到达该点走的步数int record = 0; //计数器记录步数/*Function:判断该点是原创 2021-12-31 13:37:34 · 1381 阅读 · 0 评论 -
实验三:房间最短路问题
题目描述:房间最短路问题 - 洛谷#include<iostream>using namespace std;int n;double x, a1, b1, a2, b2;class wall {public: wall() {}; wall(double x, double a1, double b1, double a2, double b2) { this->a1 = a1; this->a2 = a2; this->x = x;.原创 2021-12-30 22:21:46 · 695 阅读 · 0 评论 -
实验三:凸包(输入点坐标计算凸包坐标)
参考:找凸包方法_RedGeek的博客-优快云博客以及老师上课的PPT(幕布里)#include <iostream> #include <utility> #include <vector> #include <algorithm> using namespace std;typedef pair<double, double> POINT;vector<POINT>vec; //原创 2021-12-30 21:30:23 · 636 阅读 · 0 评论 -
I.病毒(RNA碱基对循环字符串判定)
就是图的深度优先搜索,然后判断个循环。#include<iostream>#include<vector>using namespace std;int row_num; //初始的num值,用于后面的减法int N, M;char* base; //相当于顶点表,可以查找对应的字母所在下标,然后去edge找找有没有边int edge[100][100];int vis[100]; //顶点访问记录vector&.原创 2021-12-30 17:13:28 · 253 阅读 · 0 评论 -
E.字符串排序(每个操作都得到新字符串,按字典排序)
#include<iostream>#include<string>#include<algorithm>using namespace std;int n, k; //n是字符串长度,k表示第k次操作string a; //就是输入的字符串string* ss; //用来装每次操作之后的astring* operate; //存放操作说明,比如1 0 2 eint iii;//算出来的...原创 2021-12-30 17:01:04 · 575 阅读 · 0 评论 -
实验六:KMP算法匹配字符串,求子串索引
字符串匹配的KMP算法 - 阮一峰的网络日志#include <iostream>#include <cstring>#include <string>#include <set>using namespace std;// 1. 求出部分匹配值表,相当于next数组// 2. 移动次数 = 已匹配个数 - 最后一个匹配的字符的部分匹配结果void BuildPatchMatchTable(int* partMatchTable, c原创 2021-12-27 22:16:44 · 370 阅读 · 0 评论 -
G.连边问题(树特定结点连边)
题目描述:思路:真没想到,题目的“可以连一条边”的意思是,就是得连一条边上去,更新原来的图,然后才继续找满足depth=3的结点,而不是只是记录可以连这么一条边就行了。是题目有问题还是我理解能力不行?用图的DFS应用到树的DFS,因为树就是特殊的图,也可以用邻接矩阵来表示。用深度优先搜索,从一个节点出发,查找离他深度为3的结点,然后连线,并更新图(树)的邻接矩阵。然后从连线处再次出发,递归调用DFS,传入depth=1。这是为了找到新加边之后,从这条边走出去有没有新的dept...原创 2021-12-26 18:36:19 · 530 阅读 · 0 评论 -
C++搞个split函数,把字符串按空格分割
直接copy这个函数就行:#include<iostream>using namespace std;#include<string>#include <regex>//按空格分隔,返回vector<std::string>类型。有时间想想怎么把这个函数搞成我所有程序都能引入头文件直接用的。vector<string> split(string text) { regex ws_re("\\s+"); // 这个可以把所有空格原创 2021-12-25 19:14:21 · 2064 阅读 · 0 评论