数据结构
哥不想学算法
越学越多
展开
-
【7-9 N个数求和 (20 分)】天梯赛练习题,使用c++求解,解出部分样例吗,非满分
7-9 N个数求和 (20 分)本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只原创 2022-04-15 16:35:41 · 191 阅读 · 0 评论 -
【7-7 单身狗 (25 分)】样例就给了15分,不知道剩下的错在哪里了,希望高手指点
7-7 单身狗 (25 分)“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤50000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤10000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。输出格式:原创 2022-04-14 17:47:54 · 110 阅读 · 0 评论 -
【L1-061 新胖子公式 (10 分)】天梯赛训练题,C++实现,清晰明了
L1-061 新胖子公式 (10 分)根据钱江晚报官方微博的报导,最新的肥胖计算方法为:体重(kg) / 身高(m) 的平方。如果超过 25,你就是胖子。于是本题就请你编写程序自动判断一个人到底算不算胖子。输入格式:输入在一行中给出两个正数,依次为一个人的体重(以 kg 为单位)和身高(以 m 为单位),其间以空格分隔。其中体重不超过 1000 kg,身高不超过 3.0 m。输出格式:首先输出将该人的体重和身高代入肥胖公式的计算结果,保留小数点后 1 位。如果这个数值大于 25,就在第二行输出 P原创 2022-04-12 22:15:33 · 852 阅读 · 0 评论 -
【L1-062 幸运彩票 (15 分)】天梯赛训练题,C++代码实现,清晰明了
L1-062 幸运彩票 (15 分)彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。输入格式:输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。输出格式:对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!;否则输出 Wish you good luck.。输入样例:2233008123456输出样例:You are lucky原创 2022-04-12 22:01:44 · 341 阅读 · 0 评论 -
【L1-034 点赞 (20 分)】天梯赛练习题,附带解析,C++实现
L1-034 点赞 (20 分)L1-034 点赞 (20 分)微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1⋯FK”,其中1≤K≤10,Fi(i=1,⋯,K)是特性标签的编号,我原创 2022-04-08 08:58:43 · 781 阅读 · 2 评论 -
【L1-032 Left-pad (20 分)】PTA 练习题 C++ 快速解决问题,思路清晰
L1-032 Left-pad (20 分)L1-032 Left-pad (20 分)根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是*****GPLT。Node社区曾经对left-pad原创 2022-03-27 17:46:24 · 439 阅读 · 1 评论 -
【L1-031 到底是不是太胖了 (10 分)】C++实现,简单明了
L1-031 到底是不是太胖了 (10 分)据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。输入格式:输入第一行给出一个正整数N(≤ 20)。随后N行,每行给出两个整数,分别是一个人的身高H(120 < H < 200;单位:厘米)和真实体重W(50 <原创 2022-03-27 17:00:41 · 1298 阅读 · 0 评论 -
【L1-028 判断素数 (10 分)】C++实现,简单明了
L1-028 判断素数 (10 分)本题的目标很简单,就是判断一个给定的正整数是否素数。输入格式:输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。输出格式:对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。输入样例:211111输出样例:YesNo这道题有两个难点:1 理解什么是素数 首先0 1 都不是素数 素数都是大于1的2 这道题题目提交的话,大多数人可能会发现超时,主要就是这道题有时间的限制,所以原创 2022-03-27 16:18:24 · 2231 阅读 · 0 评论 -
L1-025 正整数A+B (15 分) 有思路,有解答,C++解法(个别测试样例不通过)
L1-025 正整数A+B (15 分)题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。输出格式:如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入原创 2022-03-26 16:45:59 · 554 阅读 · 2 评论 -
【L1-023 输出GPLT (20 分)】思路清晰,使用C++解答,简单明了
L1-023 输出GPLT (20 分)给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT…这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。输出格式:在一行中按题目要求输出排序后的字符串。题目保证输出非空。输入样例:pcTclnGloRgLrtLh原创 2022-03-26 16:04:54 · 380 阅读 · 0 评论 -
【7-4 h0018.金币 (20 分)】思路清晰,c++实现,分分钟解决
【7-4 h0018.金币 (20 分)】国王以金币支付给他忠诚的骑士。在他服役的第一天,骑士会得到一枚金币。 在接下来的每两天(服务的第二和第三天),骑士会收到两枚金币。在 在接下来的三天里(第四、第五和第六天),骑士每一天都会得到三枚金币。 在接下来的4天里(第七、第八、第九和第十天),每一天骑士会得到4枚金币。这种支付模式将无限期地持续下去:在每个N 在接下来的连续N+1天里,骑士将获得N+1个金币。其中N是任意正整数。 请你编写程序将确定在任何给定的天数内支付给骑士的金币总数 (从第一天开始)。原创 2022-03-23 23:02:12 · 1755 阅读 · 1 评论 -
7-4 感染 (25 分) C++快速解决感染问题,思想直接,注释明了
7-4 感染 (25 分) PTA7-4 感染 (25 分)新冠疫情爆发,Drizzle 想知道假如在一个区域内分布着正常人和感染者,感染者每天会感染附近(上下左右)的正常人,多少天内所有人都被感染,求出最少天数days,如果不会被全部感染则输出victory。要求:输入:第一行输入两个整数m,n表示地图区域的行列,随后的m行输入n个数字表示地图中的人员布局(0表示没人,1表示正常人,2表示感染者)。输出:假如所有人被感染输出全部人员都被感染的天数num,否则输出victory。示例:输入:原创 2022-03-22 12:36:37 · 651 阅读 · 1 评论 -
c语言实现二叉树基本操作
/* 本实验为二叉树的补充实验,主要实现14个操作: 1、void CreatBitree(BiTree &T) //输入二叉树的先序遍历序列(空树用字符'#'表示),创建二叉链表T 2、bool level(BiTree T,char ch,int curlevel,int &p) //(已实现)求二叉树T中值为ch的结点的层次,结果用p表示 3、bool ancestor(BiTree T,char ch) //(已实现)在二叉树T中求值为ch的结点的祖先,成功返回true原创 2020-11-22 21:44:20 · 1806 阅读 · 4 评论 -
栈的案例:用数组判断“1”“0”进和出栈是否合法
#include<iostream>#define N 100using namespace std;bool judge(int m[],int k) { if (m == NULL|| (k%2)!=0) { return false; } int flag1=0; if (m[0] == 1) { flag1++; } for (int i = 1; i <k; i++) { if (m[i] == 1 ){ flag1++; }原创 2020-10-24 16:04:09 · 125 阅读 · 0 评论 -
c++实现简单的二分查找
#include<iostream>#include<string>using namespace std;void find(int s[], int len) { int n; cout << "input you want number:" << endl; cin >> n; int low = 0; int high = len; while (1) { cout << "go" << en原创 2020-09-28 21:55:10 · 199 阅读 · 1 评论 -
c++实现简易的选择排序
#include<iostream>using namespace std;#define N 7int main() { // 选择排序 int a[N] = {1,2,5,3,4,7,8}; int k = 0; int tmp; for (int c = 0; c < N; c++) { int min = c; for (int i = c+1; i < N; i++) { if (a[min] > a[i]) { min原创 2020-09-24 21:18:09 · 73 阅读 · 0 评论 -
c++数据结构中图的创建和查找最短路径
这个是图的创建和查找路径,有什么问题可以一起交流,本人qq921064167,当然也可以私信或者评论区留言,有什么有难度的题也可以向我询问,虽然我也不一定会,ok.#include<iostream>#define maxsize 1024using namespace std;//边的定义typedef struct _EdgeNode { int weight; char adjvex; _EdgeNode* next;}EdgeNode;//节点的定义typedef原创 2020-09-20 18:43:00 · 410 阅读 · 0 评论