自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 【图论】——迪杰斯特拉算法

迪杰斯特拉算法哈喽,大家好,我是赏月君,今天做一下图论的题目——迪杰斯特拉算法,废话少说,上题目。题目描述求最短路权值和。输入输入数据以下面的格式:|V| |E| rs0 t0 d0s1 t1 d1s|E|-1 t|E|-1 d|E|-1其中IV|是图顶点的数量,|E|是图中的边的数量。 r是起点。si和ti表示第i条边(有向)的源点和终点,di表示第i条边的权值。1≤|V|≤1000000≤di≤100000≤|E|≤500000没有自环,没有并行边。输出c0c1.

2022-05-15 18:05:40 204

原创 【图论】——图的广度优先遍历

训练题目——图的广度优先遍历哈喽,大家好,我是赏月君,今天做一下图论的题目——图的广度优先遍历,废话少说,上题目。题目描述请编写一个程序,求给定的有向图G =(V, E)中顶点1到各顶点的最短路径d (路径边数的最小值)。各顶点编号分别为1至n。如果从顶点1出发无法到达某顶点,则与该顶点的距离记为-1。输入第1行输人G的顶点数n。接下来n行按如下格式输人各顶点u的邻接表。u k v1 v2 … vk其中u为顶点编号,k为u的度,v1 v2 … vk 为与u相邻的顶点编号。输出按顶点编号顺序

2020-12-27 10:10:33 294

原创 【图论】——图的深度优先遍历

训练题目——图的深度优先遍历哈喽,大家好,我是赏月君,今天做一下图论的题目——图的深度优先遍历,废话少说,上题目。题目描述请基于以下需求编写一个程序,对给定的有向图G=(V, E)进行深度优先搜索,并显示其执行过程。G以邻接表的形式给出。各顶点编号为1至n各邻接表的顶点编号按升序排列程序报告各顶点的发现时刻和结束时刻深度优先搜索过程中,如果同时出现多个待访问的顶点,则选择其中最小的一个进行访问首个被访问顶点的开始时刻为1输入第1行输人G的顶点数n。接下来n行按如下格式输人各顶点u的邻接

2020-12-27 09:25:45 463 1

原创 C++图论简单介绍

图由顶点( vertex, node )和边( edge)组成。顶点代表对象。在示意图中,我们使用点或圆来表示。边表示的是两个对象的连接关系。在示意图中,我们使用连接两顶点之间的线段来表示。顶点的集合是V、边的集合是E的图记为G =(V, E),连接两点u和v的边用e=(u, v)表示。1.图的种类图大体上分为2种。边没有指向性的图叫做无向图,边具有指向性的图叫做有向图。表示朋友关系的图(顶点表示人、边表示朋友关系的图)和路线图是无向图。表示数值的大小关系的图(顶点表示数值、A>B时从A向B连一

2020-12-25 09:22:07 1905

原创 【图论】——邻接表转换邻接矩阵

邻接表转换邻接矩阵哈喽,大家好,我是赏月君,今天做一下图论的题目——邻接表转换邻接矩阵,废话少说,上题目。题目描述编写一个程序,读取由邻接表表示的有向图G,并打印其邻接矩阵表示。G由n个顶点组成,这些顶点的id为1,2,…n。输入第一行给出了一个整数n。在接下来的n行中,顶点u的邻接表Adj[u]的格式如下:u k v1 v2 … vku为顶点ID, k为其度。vi是与u相邻的顶点的id。1<=n<=100输出如下图所示,打印图G的邻接矩阵表示,在aij之间放一个空格字符。

2020-12-25 08:23:13 1504

原创 二叉树练习——树的遍历

二叉树练习——树的遍历题目描述请根据下述算法编写一个程序,系统地访问给定二叉树的所有节点。1.按照根结点、左子树、右子树的顺序输出结点编号。这称为树的前序遍历( Preorder Tree Walk )。2.按照左子树、根结点、右子树的顺序输出结点编号。这称为树的中序遍历( Inorder Tree Walk )。3.按照左子树、右子树、根结点的顺序输出结点编号。这称为树的后序遍历( Postorder Tree Walk )。设给定二叉树拥有n个结点,编号分别为0至n-1。输入输入第1行输

2020-12-18 09:03:43 333

原创 C++二叉树简单介绍

树结构树结构是一种数据结构,它由结点(node)以及连接结点的边(edge)构成。如下图所示,我们用圆代表结点,用线代表边。如果一棵树具有一个名为“根”(root)的特殊结点,那么这棵树称作有根树(rooted tree)。有根树的结点之间具有父子关系。设一棵有根树T,其根r到结点x的路径上的最后一条边连接着结点p与结点x,此时我们将p称作x的父结点(parent),将x称作p的子结点(child)。如下图所示,结点2的父结点是0(根),兄弟结点是1和3。从图中可以看出,根是唯一一个没有父结点的结

2020-12-18 08:41:25 602

原创 数据结构二叉树训练题目——二叉树三叉链表表示

二叉树三叉链表表示题目描述给定有根二叉树T,请编写一个程序,输出其各结点u的如下信息。u的结点编号u的深度u的父结点u的高u的兄弟结点结点的种类(根、内部结点、叶)u的子结点数设给定二叉树拥有n个结点,编号分别为0至n-1。输入输入第1行输人结点的个数n。 接下来n行按照下述格式输人各结点的信息,每个结点占1行。id left rightid为结点编号,lefi 为左子结点编号, right 为右子结点编号。不存在子结点时lefit (right)为- 1。输出输出按照下述

2020-12-17 14:35:38 773

原创 经典搜索算法——深度优先搜索【暴力搜索】

训练题目暴力搜索题目描述现有长度为n的数列A和整数m。请编写一个程序,判断A中任意几个元素相加是否能得到m。A中每个元素只能使用一次。数列A以及

2020-12-17 13:58:11 631

原创 【经典贪心练习】排队接水

【贪心练习】排队接水题目描述有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。输入共两行,第一行为n(1≤n≤1000);第二行分别表示第1个人到第n个人每人的接水时间T1, T2, … Tn,每个数据之间有1个空格。输出有两行,第一行为一种排队顺序,即1到n的一种排列;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。样例输入1056 12 1 99 1000 234 33 55 99 812

2020-12-17 13:44:46 1203

原创 经典搜索算法——深度优先搜索【走迷宫】

训练题目走迷宫题目描述在一个方格地图上,求从起点走到终点的最短步数。输入n行m列的迷宫。S表示起点。T表示终点。#表示障碍物,.号表示可以通行。输出从起点到终点的最短步数。如果不能到达输出-1.样例输入5 4T....##.##.....###.S样例输出9代码实现#include<bits/stdc++.h>using namespace std;int n,m,a=100000;char mapp[105][105];//地图bool vis[1

2020-12-16 11:27:21 1093

原创 经典搜索算法——广度优先搜索【数水坑(深搜/广搜连通块)】

数水坑题目描述由于近期的降雨,农民约翰的田地里的许多地方都积水了,用一个N×M(1<=N<=100;1<=M<=100)的网格图表示。每个网格中有水(“W”)或是旱地(“.”)。一个网格与周围的八个网格相连,而一组相连的网格视为一个水坑。农夫约翰想知道他的地里形成了多少个水坑。给出一张农夫约翰的田地图,确定当中有多少个水坑。输入第一行:两个空格隔开的整数:N和M第二行到第N+1行:每行M个字符,每个字符是‘W’或‘.’,它们表示网格图中的一排。字符之间没有空格。输出一行

2020-12-16 11:15:08 1129 2

原创 经典搜索算法——广度优先搜索【走迷宫】

训练题目走迷宫题目描述在一个方格地图上,求从起点走到终点的最短步数。输入n行m列的迷宫。S表示起点。T表示终点。#表示障碍物,.号表示可以通行。输出从起点到终点的最短步数。如果不能到达输出-1.样例输入5 4T....##.##.....###.S样例输出9代码实现#include<bits/stdc++.h>using namespace std;int dir[4][2]={0,1,1,0,0,-1,-1,0};//四个方向int n,m;cha

2020-12-16 10:37:20 530

原创 【经典贪心练习】金银岛

【贪心练习】金银岛题目描述某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为w的物品。岛上金属有s个种类, 每种金属重量不同,分别为n1,n2,…,ns,同时每个种类的金属总的价值也不同,分别为v1,v2, …, vs。KID想一次带走价值尽可能多的金属,问他最多能带走价值多少的金属。注意到金属是可以被任意分割的,并且金属的价值和其重量成正比。输入第1行是测试数据的组数k,后面跟着k组

2020-12-13 10:06:12 2142

原创 C++中for循环和while循环的区别

C++中for循环和while循环的区别这两者之间最大的区别就是for循环一般应用于循环次数已知的情况,而while循环一般应用于循环次数未知的情况。在一般情况下,这两者是可以相互转化的。举一个简单的例子:求1-100的和。#include<bits/stdc++.h>using namespace std;int main(){ int sum=0; for(int i=1;i<=100;i++){ sum+=i; } cout<<sum;}这个

2020-10-29 16:17:24 2855 2

原创 C++的场宽问题(打印杨辉三角形为例)

一些题目会涉及到带宽的问题,例如打印杨辉三角形。下面是一个比较:#include<bits/stdc++.h>using namespace std;int main(){ int a=45; cout<<setw(4)<<a<<endl; printf("%4d\n",a);}结果如下: 45 45--------------------------------Process exited after 0.09044 sec

2020-07-20 09:10:56 520 2

原创 gets()的一个疑问 训练题目:统计字母个数

这个是我在做题的时候碰到的。先看看一下原题:【问题描述】对任意输入一个字符串A,数一数里面包含了多少个字母,输出个数。如:输入 5df*8e7d4+fe45d输出 zimu:7下面是我一开始的程序:#include<bits/stdc++.h>//这个是一个万能库using namespace std;int main(){ char c[1000]; int zimu=0; gets(c);//输入一串字符 int len=strlen(c); for(int

2020-07-19 10:17:31 332

原创 1192: 纯粹素数

题目描述纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。输入一个整数N,如果是纯粹素数输出yes,否则输出no。【输入】正整数N,N<=10^9。【输出】yes或者no,yesg表示N是纯粹素数,no表示N不是纯粹素数。【输入样例】1013【输出样例】yesC++代码实现...

2020-01-11 16:43:17 2880 3

原创 1211:杨辉三角形

这个题目来源于大一学习C++时的一道题(现在还是大一,哈哈)OK,来看题目:打印杨辉三角形的前10行。杨辉三角形如下图:11 11 2 11 3 3 11 4 6 4 1【输入】无输入【输出】 1 1 1 ...

2020-01-11 15:18:21 217

原创 1312: 奶牛乘法

做厌了乘法计算题的佳佳,自创了一种新的乘法运算法则。在这套法则里,A×B等于一个取自A、一个取自B、的所有数字对的乘积的和。例如:123×45等于1×4+1×5+2×4+2×5+3×4+3×5=54。本题的任务是,对于给定的数A和B,用新的乘法法则计算A×B的值。【输入格式】一行两个用一个空格隔开的整数A和B,1≤A、B≤10^9。【输出格式】一行一个整数,表示新的乘法法则下A×B的...

2020-01-11 14:17:33 2305 1

原创 1122: 浮点型数据类型存储空间大小

题目描述分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。输入:无输出: 一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。C++代码实现:#include<bits/stdc++.h>using namespace std;int main(){ float a; double b; cout<...

2019-12-24 19:31:33 197

原创 1121: 例2.7 大小字母的转换

题目描述:输入:两个字符a和b。输出:把第一个小写字母转成大写,第二个大写字母转小写。输入样例:a B输出样例:A bC++代码实现#include<bits/stdc++.h>using namespace std;int main(){ char a,b; cin>>a>>b; cout<<a<<' '&...

2019-12-24 19:27:10 298

原创 **1333: 幂次方表示法[递归]**

1333: 幂次方表示法[递归]#include<bits/stdc++.h>using namespace std;string f(int x){if(x1)return “2(0)”;if(x2)return “2”;if(x3)return “2+2(0)”;int n=log2(x);int t=pow(2,n);if(xt)return “2(”+f(n)...

2019-12-16 09:46:44 190

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除