c++
文章平均质量分 52
Sy_Faker
这个作者很懒,什么都没留下…
展开
-
qt 扫码枪扫描 输入事件 包含可输入字符
与大多数键盘输入相同,上档即shift键会对键盘输入的内容产生影响,在qt的事件中也是如此,比如直接按键盘上的q就是q所对应的字符编码,如果信息是Q那么在qt的事件则是先给一个16,之后再是q所对应的字符编码,所以才有了以上的处理。当需要对扫码枪扫描出的信息进行处理或打印等,有多个办法,其中串口,中间件等不在本文章讨论内。原创 2024-01-17 16:34:36 · 406 阅读 · 0 评论 -
超详细思维过程 杨辉三角形 蓝桥杯 历届真题
先说前提,这题我用自己的想法只过了50%,其他用例超时了。官网题目链接大多数人想到的直接暴力,其实我也差不多只是很多地方思路改进用一个二维数组存起来同时计数,遇到的时候返回计数值最先应该是这个想法,然后我想到在构造一行的时候,当前值只与上以行的数有关,所以用一个一维数组存上一行,一个一维数组存这一行。这时候应该想到可不可以只用一个数组,只是要几个变量来指出哪些和哪个位置要改变,然后变量就多了。用合理的数据结构可以减轻自己的思维负担。用一个队列,利用先进先出的原则,把两个两个相加的值加入队列后原创 2021-11-20 01:49:48 · 2632 阅读 · 1 评论 -
森林中的兔子,有感而抒
力扣4月4日每日一题,传送门有感而抒森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在 answers 数组里。返回森林中兔子的最少数量。示例:输入: answers = [1, 1, 2]输出: 5解释:两只回答了 “1” 的兔子可能有相同的颜色,设为红色。之后回答了 “2” 的兔子不会是红色,否则他们的回答会相互矛盾。设回答了 “2” 的兔子为蓝色。此外,森林中还应有另外 2 只蓝色兔子的回答没有包含在数组中。因此森原创 2021-04-04 14:26:24 · 149 阅读 · 0 评论 -
L1-059 敲笨钟 (20分)
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。输入格式:输入首先在第一行给出一个不超过 20 的原创 2020-11-15 23:32:26 · 281 阅读 · 0 评论 -
L1-011 A-B
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104 ,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It’s a fun game!aeiou输出样例:I lv GPLT! It’s fn gm!思路:逐个原创 2020-11-09 10:56:58 · 138 阅读 · 0 评论 -
牛牛的跳跳棋 牛客noip集训第一场B
竞赛传送门来源:牛客网比赛时我用了100多行暴力深搜,可能脑子抽了,之后补题懂了。在此感谢@SSL_TJH贪心在这对应的算法就是那这道题就可以很愉快的用贪心解决了,在用魔法之前竟可能的走到更前面,然后在跳最后一次的地方用一次魔法。 这时候可能会有人问:为什么这样一定可以呢?因为它无论在什么地方使用魔法,都只能在原来的基础上多走一步,那肯定就是先找到能走到最远地方的最后一点,然后再那个地方用魔法。 然后我们只要在走的时候记录一下在那些地方用了魔法,在到终点之后输出出来就可以了。一开始我在想原创 2020-10-26 10:54:57 · 798 阅读 · 0 评论 -
数组中的最长山脉leetcode845
好久没试过自己仔细想敲出来的题了,记录鼓励一下传送门我的想法是用两个数组,A和B,A存放从头到尾的最长连续递增的长度,也就是说A[i]表示以i为终点,往前有多少递增的。B存放以i为起点最长连续递减的长度,A[i]+B[i]最大的就是最大的山脉了,A很好实现,从头到尾,如果A[i]>A[i-1],那么A[i]=A[i-1]+1,否则就不连续就为0了,但B呢,从前到后遍历的话并不知道i之后的情况,所以构建B从后往前建立,合在一次遍历也就是:for(int i=1;i<len;i++)//cur原创 2020-10-25 13:46:10 · 189 阅读 · 0 评论 -
2020-10-24记录题目
看到这个一个等式2020-996=1024说是今年要是没有996就能过上好日子(hhh在1024,程序员节这一天,基本敲了一天的代码,但今天又觉得思维被堵住了,没有以往敲题时那种活跃的思维思考,所以我打算把今天思考堵住的用敲下来的方式再重新理清一下思路,会慢慢补题上来的,我相信今天的力扣有用动态规划的,我一遇到就都有练习怎么去思考:传送门刚开始看题解有点懵懵的,后来自己想出来了,现在试着表达我的想法:首先题目,一个数组储存了一些视频片段,这些视频片段以[开头时间,结尾时间]组成的一个数组要找出原创 2020-10-24 22:41:11 · 177 阅读 · 0 评论 -
两两交换链表中的节点(2020/10/13力扣每日一题
传送门两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。实例:给定 1->2->3->4, 你应该返回 2->1->4->3.虽然时间和空间复杂度都没别人低,但是我昨晚做不出来,今天考自己思考想出来了,我觉得可以记录一下haha主要思路:让第二个的next指针指向head,而head指向的是后半部分链表旋转后的“头指针”所以用到递归可以很好处理这个重复的过程,如果结尾原创 2020-10-13 10:33:57 · 147 阅读 · 0 评论 -
LeetCode 226. 翻转二叉树
好久没敲题,敲一下敲出来了,为了庆祝记录一下hiahiahia来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree我敲的代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int原创 2020-09-16 23:51:43 · 131 阅读 · 0 评论 -
(leetcode)相同的树
来源:力扣(LeetCode)原题目传送门第一次自己敲出dfs的题,记录一下,虽然简单,但我觉得凡事都有个开始嘛题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *原创 2020-05-12 14:53:35 · 139 阅读 · 0 评论 -
关于ios::sync_with_stdio(false);的一个问题
本人小白一个,请大佬们看到轻喷(谢谢了~)在日常的敲题中,在看到大概需要频繁输入的题目后我顺手敲上了 ios::sync_with_stdio(false); cin.tie(0);因为cin会先把要输出的东西存入缓冲区,再输出,导致效率降低而这段语句可以来打消iostream的输入 输出缓存,可以节省许多时间然而在今天敲题时我发现我的输入的一些字符串被吞了。 ios::sync_...原创 2020-04-24 00:49:45 · 600 阅读 · 0 评论 -
我取名为地图走路法(十面埋伏)
牛客竞赛中 牛客小白月赛24 的C题,十面埋伏(滑稽)原题目地址我在这里转载一个我认为挺好的代码,直接上代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cmath>#include<list> ...转载 2020-04-21 00:01:53 · 231 阅读 · 0 评论 -
在C++中获取实数形的整数部分
#include<math.h>double ceil(double x) //向上取整double floor(double x) //向下取专整向上取整,取比x大的第一个整数值向下取整,取比x小的第一个整数值转载 2020-04-19 16:27:00 · 1659 阅读 · 0 评论 -
C++使用fixed和precision控制小数和有效位数的输出(转载)
头文件iomanip中包含了setiosflags与setprecision,也可以用fixed 代替setiosflags(ios::fixed)#include<iostream>//fixed#include<iomanip>//包含setiosflags与setprecisionusing namespace std;int main(){ //fixe...转载 2020-04-18 20:00:52 · 706 阅读 · 0 评论 -
关于C++函数模板的友元函数的一个小问题
类模板中可以使用三种友元声明:(1)普通非模板类或函数的友元声明。(2)类模板或函数模板的友元声明,授予对所有实例类或函数的访问权。例如:template class demo {template friend class test;template friend void fun();…};(3)只授予某个模板的特定实例以访问权。例如:template class te...转载 2020-04-17 22:55:03 · 236 阅读 · 0 评论 -
PTA:7-85 数据的间距问题(重载+函数模板)
三个类如下设计:类cTime有三个数据成员,hh,mm,ss,分别代表时,分和秒,并有若干构造函数和一个重载-(减号)的成员函数。类point有两个数据成员,x,y分别坐标,并有若干构造函数和一个重载-(减号)的成员函数。类date有三个数据成员,year,month,day分别代表年月日,并有若干构造函数和一个重载-(减号)的成员函数。 要求设计一个函数模板template <\class...原创 2020-04-12 15:29:34 · 1102 阅读 · 0 评论 -
PTA:7-87 集合的模拟实现(类模板)
我们可以用一个类来模拟集合及集合运算,add运算用以实现集合元素的增加,delete运算用于实现集合元素的删除,find运算用以实现集合元素的查找,但是目前集合元素类型未知,可以是int、char、double等基本数据类型,也可以是String、Time、Student等对象类型,要求采用类模板实现集合及集合运算,包括集合元素的增加、删除和查找的等基本功能。集合模板类MySet包括数据如下:...原创 2020-04-12 15:28:05 · 1045 阅读 · 0 评论 -
PTA:7-86 集合的模拟实现(函数模板)
我们可以用一个数组来模拟集合,add运算用以实现集合元素的增加,delete运算用于实现集合元素的删除,find运算用以实现集合元素的查找,但是目前集合元素类型未知,可以是int、char、double等基本数据类型,也可以是String、Time、Student等对象类型,要求采用模板函数实现集合元素的增加、删除和查找功能。三个模板函数如下:int addSet(T * myset, T e...原创 2020-04-12 15:27:17 · 541 阅读 · 0 评论 -
PTA:7-69 数据的间距问题
复数类Complex有两个数据成员:a和b, 分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。 要求设计一个函数模板template < class T >double dist(T a, T b)对int,float,Complex或者其他类型的数据,返回两个数据的间距。以上类名和函数模板的形式,均须按照题目要求,不得修改输...原创 2020-04-10 12:04:05 · 377 阅读 · 0 评论 -
PTA:7-67 友元很简单2016final
C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个求本次考试成绩最高分的学生的友元函数 student* average(student *p,int count)以上类名和友元函数的形式,均须按照题目要求,不得修改。输入格式:输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生)输出格式:输出是最高分学生的 学...原创 2020-04-10 11:48:32 · 1659 阅读 · 2 评论 -
PTA:7-65 饮料的价格
一个茶吧提供三类饮料:茶、咖啡和牛奶。其中本地茶要另加50%的服务费,其它茶要加20%的服务费;现磨咖啡要加100%的服务费,其它咖啡加20%的服务费;牛奶不加服务费,服务费精确到小数点一位。给出下面的基类框架:Class Drink { protected:int NO; //编号int amount; //数量float price; //单价public:virtual voi...原创 2020-04-10 11:21:45 · 1889 阅读 · 2 评论 -
PTA:7-64 该日是该年的第几天
定义一个日期类Date,内有数据成员年、月、日,另有成员函数:构造函数用于初始化数据成员,输出,闰年的判断。 编写主函数:创建日期对象,计算并输出该日是该年的第几天。 输入格式: 测试输入包含若干测试用例,每个测试用例占一行。当读入0 0 0时输入结束,相应的结果不要输出。输入样例:2006 3 52000 3 50 0 0输出样例:(括号内为说明)64 (2006年3月5日是该年的第...原创 2020-04-09 03:13:02 · 3237 阅读 · 3 评论 -
PTA:7-63 计算高考状元
高考成绩已经公布,大家正在填报志愿。设计一个学生类student,四门学科成绩是其私有成员,分别是语文、数学、英语、综合。有个计算高考状元的函数是其友元函数,其形式是 student top(const student *p, int count) 。以上类名和友元函数的形式,均须按照题目要求,不得修改。输入是姓名 和 四科成绩,以0结束。 (不超过100个学生) 输出是状元的总分。输入样例...原创 2020-04-09 02:56:59 · 1202 阅读 · 0 评论 -
PTA:7-62 汽车收费
现在要开发一个系统,管理对多种汽车的收费工作。 给出下面的一个基类框架class Vehicle{ protected:string NO;//编号public:virtual void display()=0;//输出应收费用}以Vehicle为基类,构建出Car、Truck和Bus三个类。Car的收费公式为: 载客数8+重量2Truck的收费公式为:重量*5Bus的收费公式...原创 2020-04-09 02:16:24 · 933 阅读 · 0 评论 -
PTA:7-61 师生信息管理
给出下面的一个基类框架class Person{protected:int NO;//编号public:virtual void display()=0;//输出相关信息}以Person为基类,构建出Student、Teacher两个类。生成上述类并编写主函数,要求主函数中有一个基类Person指针数组,数组元素不超过10个。Person *pp[10];主函数根据输入的信息...原创 2020-04-09 01:59:57 · 1407 阅读 · 0 评论 -
PTA:7-58 图书音像出租管理
一个图书音像店出租图书和磁带。给出下面一个基类的框架:class Publication{protected:string title;//名称float price;//原价int day;//租期public:virtual void display()=0;//打印价格清单}以Publication为基类,构建Book和Tape类。生成上述类并编写主函数,要求主函数中...原创 2020-04-08 11:11:29 · 4818 阅读 · 0 评论 -
PTA:7-60 宠物的生长
现在要开发一个系统,对宠物的生长状态进行管理。给出下面的一个基类框架class Pet{protected:string name;//姓名int length;//身长int weight;//体重int current;//当前日期public:virtual void display(int day)=0;//输出目标日期的身长和体重}以Pet为基类,构建出Cat和D...原创 2020-04-08 11:09:52 · 633 阅读 · 0 评论 -
PTA:6-73 函数调用
编写三个函数:求两个整数的最大值、最小值、和。分别用这三个函数作为实参,再写一个计算函数compute,对两个整数进行各种计算。其中一个形参为指向具体算法函数的指针。函数接口定义:int max(int a, int b);int min(int a, int b);int sum(int a, int b);int compute(int a, int b, int(*func)(in...原创 2020-03-17 10:47:01 · 2377 阅读 · 0 评论 -
PTA:6-71 时钟模拟
一个Time类,数据成员有时、分、秒。要求模拟秒表,每次走一秒,满60秒进位,秒又从零开始计数。满60分进位,分又从零开始计数。输出时、分和秒的值。(使用重载++运算符实现)时间类定义:class MyTime测试程序样例:/* 请在这里填写答案 */int main(){ MyTime t1,t2(23,59,59),t3; cin>>t3; ++t1; cou...原创 2020-03-17 10:44:21 · 1187 阅读 · 0 评论 -
PTA:6-29 虚基类的应用-人与教师学生
派生类定义:根据所给的基类,完成多重继承下的派生类定义函数接口定义:#include <iostream>#include <string>using namespace std;//定义公共基类Personclass Person {public: Person(string nam,char s...原创 2020-03-15 21:55:24 · 1456 阅读 · 0 评论 -
PTA:6-30 时间相加
设计一个时间类,用来保存时、分、秒等私有数据成员,通过重载操作符“+”实现2个时间的相加。要求: (1)小时的时间范围限制在大于等于0;(2)分的时间范围为0-59分;(3)秒的时间范围为0-59秒。#include <iostream>using namespace std;class Time {private: int hours,minutes, seconds;p...原创 2020-03-15 21:53:36 · 1829 阅读 · 1 评论 -
PTA:6-33 学生排名表(析构函数)
现在输入一批学生(人数大于0且不超过100)的名次和他们的姓名。要求按名次输出每个人的排名。输入格式:每行为一个学生的信息,共两项,第一项为排名(为正整数,且任意两名学生的排名均不同),第二项为学生姓名。当输入-1时,表示输入结束。输出格式:按名次输出学生姓名,每行一个。函数接口定义:main函数的一部分。裁判测试程序样例:#include <iostream>#incl...原创 2020-03-15 21:50:51 · 1649 阅读 · 0 评论 -
PTA:7-37 学号解析
川师的学号的某些位有特殊的含义,如从2016110101中可以看出该学生为2016级,就读于11系,班级为1班。根据输入的学号,利用程序进行解析,输出对应的信息。输入格式:一个学号输出格式:相关信息输入样例:在这里给出一组输入。例如:2016110101输出样例:在这里给出相应的输出。例如:year:2016department:11class:01哈哈哈这题感觉自己是偷...原创 2020-02-21 00:10:55 · 2829 阅读 · 0 评论 -
PTA:7-31 期刊收费
邮局提供两种期刊的订阅:杂志和报纸。 给出下面基类的框架:class Periodical {protected:string title; //名称public:virtual void display()=0;//打印收费}以Periodical为基类,构建Magazine和Newspaper类。生成上述类并编写主函数,要求主函数中有一个基类Periodical指针数组,数组元...原创 2020-02-20 22:20:31 · 669 阅读 · 0 评论 -
PTA:7-24 鸡兔同笼
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物输入格式:第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (a < 32768)。输出格式:n行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满...原创 2020-02-20 16:36:54 · 2758 阅读 · 3 评论 -
7-22 2017final游泳池过道造价
有一个圆形游泳池,现在需要在其周围建一过道,并在其四周围上矩形栅栏,如图所示。若过道造价为20元/平方米。要求计算并输出过道的造价。请定义一个Circle类,内有私有数据成员radius表示半径,并有若干成员函数;定义一个Rectangle类,内有私有数据成员length、width表示长和宽,并有若干成员函数。(设圆周率PI = 3.14159,所有数据均为double类型)输入格式:输入...原创 2020-02-20 16:35:03 · 1791 阅读 · 0 评论 -
PTA:7-21 求两点之间距离
定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个函数Distance(), 用于求两点之间的距离。输入格式:输入有两行: 第一行是第一个点的x坐标和y坐标; 第二行是第二个点的x坐标和y坐标。输出格式:输出两个点之间的距离,保留两位小数。输入样例:0 9 3 -4输出样例:13.34#include<iostream>...原创 2020-02-20 16:30:35 · 2672 阅读 · 0 评论 -
PTA:7-20 队列操作
请实现一个MyQueue类,实现出队,入队,求队列长度.实现入队函数 void push(int x); 实现出队函数 int pop(); 实现求队列长度函数 int size();输入格式:每个输入包含1个测试用例。每个测试用例第一行给出一个正整数 n (n <= 10^6) ,接下去n行每行一个数字,表示一种操作: 1 x : 表示从队尾插入x,0<=x<=2^31-...原创 2020-02-20 16:28:39 · 4759 阅读 · 0 评论 -
PTA:7-17 饮料的加工时间
一个茶吧提供三类饮料:茶、咖啡和牛奶。它们的加工时间有所不同,其中本地茶每份要50秒,其它茶要20秒;现磨咖啡要加120秒,其它咖啡加20秒;牛奶每份10秒。给出下面的基类框架:Class Drink{protected:int NO; //编号int amount; //数量public:virtual void display()=0;//输出提供时间}以Drink为基类,...原创 2020-02-20 16:22:14 · 1759 阅读 · 0 评论