OJ 1827 Problem C 不同交通工具的速度

Problem C: 不同交通工具的速度 Problem C: 不同交通工具的速度 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1685  Solved: 765 [Submit][Status][Web Board] Description 不同交通工具的速度是不同的。针对自行车、摩托车和汽车分别建立类,来模拟这一情况。 定义Vechicle类,是所有交通工具的父类 阅读详情

Description

不同交通工具的速度是不同的。针对自行车、摩托车和汽车分别建立类,来模拟这一情况。

定义Vechicle类,是所有交通工具的父类:

  1. 属性int speed表示交通工具的一般速度。

  2. 静态数据成员int numOfVechicles,表示创建的交通工具的数量。这个值只增不减。

  3. 静态成员函数int getNumOfVechicles(),用于获取交通工具的数量。

  4. 析构函数。输出“A vechicle is deleted.”

  5. 纯虚函数void show().

定义Bike、MotoBike和Car三个类,它们都是Vechicle的子类,且具有:

  1. 构造函数。

  2. 重写show()函数,输出“A 's speed is ? km/h.”,其中“”是bike、motobike或car,根据所在类不同而不同。“?”是speed属性的值。

  3. 析构函数。输出“A * is deleted.”,“*”的含义同上。

定义Person类,表示司机:

  1. 数据成员string name,是人的姓名。

  2. void drive(Vechicle&)方法,输出“$ drives”, 并调用Vechicle类的show()方法。其中“$”是name的值。

Input

第1行N>0,表示有N个测试用例。

每个测试用例包括一个不含空白符的字符串、一个字符和一个整数。

Output

见样例及题目描述。

Sample Input

3
Tom B 15
Jack M 50
Mary C 100

Sample Output

In beginning, we have 0 vechicles.
Tom drives. A bike's speed is 15km/h.
A bike is deleted.
A vechicle is deleted.
Jack drives. A motobike's speed is 50km/h.
A motobike is deleted.
A vechicle is deleted.
Mary drives. A car's speed is 100km/h.
A car is deleted.
A vechicle is deleted.
At the end, we have 3 vechicles.

HINT

Append Code

int main()
{
    int cases, n;
    char c;
    string name;
    Vechicle* vechicle;
    cout<<"In beginning, we have "<<Vechicle::getNumOfVechicles()<<" vechicles."<<endl;
    cin>>cases;
    for (int i = 0; i < cases; i++)
    {
        cin>>name>>c>>n;
        Person person(name);
        switch (c)
        {
        case 'B':
            vechicle = new Bike(n);
            break;
        case 'M':
            vechicle = new MotoBike(n);
            break;
        case 'C':
            vechicle = new Car(n);
            break;
        }
        person.drive(*vechicle);
        delete vechicle;
    }
    cout<<"At the end, we have "<<Vechicle::getNumOfVechicles()<<" vechicles."<<endl;
    return 0;
}

Accepted Code

/**
 *  OJ 作业九
 *  2020年6月5日07:55:51
 */
#include <iostream>
#include <string>
#include <iomanip>
#include <typeinfo>
using namespace std;

class Vechicle {
protected:
    int speed;
    static int numOfVechicles;
public:
    Vechicle(int v = 0) : speed(v) {}
    static int getNumOfVechicles() { return numOfVechicles; }
    virtual ~Vechicle() { cout << "A vechicle is deleted.\n"; }
    virtual void show() = 0;
};
int Vechicle::numOfVechicles = 0;
class Bike : public Vechicle {
public:
    Bike(int v) : Vechicle(v) {numOfVechicles++;}
    void show() {
        cout << "A bike's speed is " << speed << "km/h.\n";
    }
    ~Bike() { cout << "A bike is deleted.\n"; }
};

class MotoBike : public Vechicle {
public:
    MotoBike(int v) : Vechicle(v) {numOfVechicles++;}
    void show() {
        cout << "A motobike's speed is " << speed << "km/h.\n";
    }
    ~MotoBike() { cout << "A motobike is deleted.\n"; }
};

class Car : public Vechicle {
public:
    Car(int v) : Vechicle(v) {numOfVechicles++;}
    void show() {
        cout << "A car's speed is " << speed << "km/h.\n";
    }
    ~Car() { cout << "A car is deleted.\n"; }
};

class Person {
    string name;
public:
    Person(string n) : name(n) {}
    void drive(Vechicle& V) {
        cout << name << " drives. ";
        V.show();
    }
};
从零部署Hydro OJ:搭建个人C++算法竞赛训练平台 在线评测系统(Online Judge,简称OJ)是现代算法竞赛和编程学习的核心工具,它通过自动化评测用户提交的代码,提供即时反馈,极大地提升了训练效率。其技术原理通常基于沙盒隔离、多语言编译器和测试数据比对,核心价值在于构建了一个标准、公平、高效的编程练习环境。在C++竞赛学习、算法教学和日常刷题等应用场景中,一个稳定可控的私有OJ平台尤为重要。本文聚焦于使用Docker容器化技术,一站式部署开源的Hydro OJ系统,并整合CSP、GESP等C++竞赛真题题库,为学习者打造专属的练习环境,有效解决公共O 阅读详情

相关推荐

别再傻傻用scanf了!C++刷题时用这两行代码,cin/cout速度直接起飞

本文揭秘了C++算法竞赛中提升cin/cout速度的两行关键代码:ios::sync_with_stdio(false)和cin.tie(nullptr)。通过解除C++与C的IO同步及cin与cout的绑定,输入输出效率可提升4倍,帮助选手避免TLE,同时保持代码的现代性和安全性。

weixin_38170137的博客 539

不同交通工具的速度

Description 不同交通工具的速度是不同的。针对自行车、摩托车和汽车分别建立类,来模拟这一情况。 定义Vechicle类,是所有交通工具的父类: 属性int speed表示交通工具的一般速度。 静态数据成员int numOfVechicles,表示创建的交通工具的数量。这个值只增不减。 静态成员函数int getNumOfVechicles(),用于获取交通工具的数量。 析构函数。...

fighting123678的博客 2746

在线OJ算法赛作弊数据建模--2026年度第七届全国大学生算法设计与编程挑战赛(春季赛)

本文基于2026年第七届全国大学生算法设计与编程挑战赛(春季赛)的OJ提交数据,研究线上竞赛作弊检测模型。通过收集663支队伍的代码提交记录(含IP、执行时间、内存等字段)和官方作弊名单,构建了三类风控指标:1)基于IP分析(同一团队IP漂移超3次或同一IP跨团队复用);2)基于用户行为(计算码字速度异常,以5字/秒为阈值);3)代码相似度(因数据限制未实施)。分析显示,部分团队存在显著IP异常(最高使用8个独立IP)和码速超标现象。研究为线上竞赛反作弊提供了可量化的检测方法。

m0_66102593的博客 247

c++作业8-B(1827)不同交通工具的速度

km/h.”,其中“*”是bike、motobike或car,根据所在类不同而不同。2. void drive(Vechicle&)方法,输出“$ drives”, 并调用Vechicle类的show()方法。其中“$”是name的值。2. 静态数据成员int numOfVechicles,表示创建的交通工具的数量。3. 静态成员函数int getNumOfVechicles(),用于获取交通工具的数量。不同交通工具的速度是不同的。输出“A * is deleted.”,“*”的含义同上。

hzywxmd的博客 224

10X Genomics单细胞数据分析实战:从FASTQ到UMAP可视化的完整流程

本文详细介绍了10X Genomics单细胞数据分析的完整流程,从FASTQ原始数据处理到UMAP可视化。通过Seurat工具包实现数据质量控制、标准化、降维聚类和细胞注释,特别适合生物信息学新手学习。文章包含可复现的代码示例和常见问题解决方案,帮助研究者快速掌握单细胞测序数据分析的核心技术。

weixin_30952535的博客 535

AI Agent在营销领域的实战策略

本文从第一性原理出发,系统性拆解AI Agent在营销领域的落地逻辑、技术架构、实现方案与实战策略。全文覆盖从基础概念到高级优化的全层级知识:底层理论层面推导营销Agent的效用函数与决策框架;技术架构层面提出"感知-记忆-规划-行动-反思"五组件可落地架构;实践层面提供生产级代码实现、多行业案例与ROI提升方法论;前沿层面探讨多Agent协同、世界模型仿真等下一代技术方向。

操作系统内核探秘的博客 228

Problem I: 不同交通工具的速度

Problem I: 不同交通工具的速度Description 不同交通工具的速度是不同的。针对自行车、摩托车和汽车分别建立类,来模拟这一情况。定义Vechicle类,是所有交通工具的父类: 属性int speed表示交通工具的一般速度。 静态数据成员int numOfVechicles,表示创建的交通工具的数量。这个值只增不减。 静态成员函数int getNumOfVechicles(),用于获

Hall of Fame 1564

Xilinx SDK工程编译、链接、调试注意事项

1、添加工程 启动SDK时选取workspace,如下图所示: 对应的workpace文件夹中会生成如下几个文件: 如果当前workspace是首次加载工程,SDK会进入启动界面 点击Import Project,导入已有工程 点击Browse,添加工程路径,一个完整的工程包含一个bsp文件夹,一个HW文件夹,和一个src文件夹(添加C功能函数) 点击Fini...

Autumn_He的博客 1万+

OJ 1781 Problem A 驾驶员与汽车

Description 我们知道,目前我国的驾照大致可分为A、B、C三种,其中C证只能开小型客车(货车),B证可开中、小型客车(货车),A证没有限制。现在请定义如下几个类: Automobile:抽象类,具有数据成员double speed,纯虚函数virtual void run() const = 0。 六种车型,即小型车Benz、Buick;中型车Zhongba、Beiqi;以及大型车Dayu、Jianghuai。它们都是Automobile的子类。 Driver类,具有string n

LiuLin_Hao的博客 478

[信号与系统]一阶与二阶连续时间系统和离散时间系统

定义:一阶连续时间系统由一阶线性常系数微分方程描述: dy(t)dt+ay(t)=bx(t) \frac{dy(t)}{dt} + a y(t) = b x(t) dtdy(t)​+ay(t)=bx(t)时间常数:时间常数 τ=1a\tau = \frac{1}{a}τ=a1​ 是系统响应速度的衡量指标。时间常数越小,系统响应越快。冲激响应:一阶系统的冲激响应是指数衰减或增长的形式。例如,对于一个单位冲激输入,响应为: h(t)=bae−at h(t) = \frac{b}{a} e^{-at} h(t)=

Andius的博客 2122

利用Matlab绘制非线性系统相图:从理论到实践

本文详细介绍了如何利用Matlab进行非线性系统的相图绘制与相平面分析。从理论基础的状态空间转换出发,通过无阻尼线性谐振子和范德波尔振荡器等实例,手把手演示了使用ode45求解器绘制相图、分析平衡点与极限环的完整流程,并分享了方向场绘制、参数分岔探索及常见错误解决方案等高级技巧,为动力学系统分析与控制设计提供了直观强大的可视化工具。

yhn456789的博客 907

OJ 2199 Problem D 汽车家族(I)

Description 目前,汽车的能源主要有油类燃料动力(包括汽油、柴油)、电动力两种。现在定义三个类: Car类,包括静态整型数据成员cntOfCars,用于记录产生的汽车对象的个数。一个double型属性,表示汽车的速度。定义其构造和析构函数,其中输出信息见样例。 OilCar类,是Car类的子类,包括静态整型数据成员cntOfOilCars,记录产生的燃油动力汽车对象的个数。一个double类型的属性,表示汽车百公里油耗。定义其构造和析构函数,其中输出信息见样例。定义show()方法,用于

LiuLin_Hao的博客 668

uni-app - 修改默认端口,H5 项目控制台运行出来的 IP 地址的默认端口号(H5 项目运行后控制台,修改项目运行到内置浏览器默认 8080 端口号)

uni-app运行到H5修改默认端口号,uni-app如何修改默认端口,uni-app修改默认端口,uni-app本地运行修改调试已上线微信H5项目,请问在UNIAPP的H5运行调试时候的IP是否可以自己设置固定,uni-app开发环境,如何设置h5服务器的端口,uni-app如何修改默认端,uni-app修改默认端口,uni-app指定端口号,uni-app-修改H5项目控制台运行出来的IP地址的默认端口号(H5项目运行后控制台,修改项目运行到内置浏览器默认8080端口号)

🏆 前端领域优质创作者 9887

YTU OJ 2566 Problem C 虚基类练习:动物

问题 C: 虚基类练习:动物 题目描述 长期的物种进化使两栖动物既能活跃在陆地上,又能游动于水中。利用虚基类建立一个类的多重继承,包括动物(animal,属性有体长,体重和性别),陆生动物(ter_animal,属性增加了奔跑速度),水生动物(aqu_animal,属性增加了游泳速度)和两栖动物(amp_animal)。其中两栖动物保留了陆生动物和水生动物的属性。 输入 两栖动物的体长,体重,性别,游泳速度,奔跑速度(running_speed) 输出 初始化的两栖动物的体长,体重,性别,游泳速度,奔跑速度

weixin_51273276的博客 463

微信开发 - 最新第三方网站接入微信登录、微信支付时,本地 redirect_uri 参数错误导致无法调试的解决方案(微信开放平台)完美解决每次都需要部署到线上测试,在本地使用本地 ip 就能轻松调试

redirect_uri参数错误,微信第三方登录,没有服务器时的测试方法,微信开放平台的回调域名怎么设置为本地域名IP,微信登录微信支付每次调试都需要放到服务器上怎么办,微信登录支付业务在本地调试不了怎么办,在本地怎么测试微信支付和登录,微信第三方登陆本地测试,怎么在本地进行测试,微信回调域怎么设置为本地IP,微信扫码登录redirect_uri参数错误,微信开放平台,微信开放平台开发的第三方登录和支付,vue2,nuxt2,vue3,nuxt3,uniapp,微信开放平台,公众号,微信支付,微信登录授权,

🏆 前端领域优质创作者 8791

《UDS协议从入门到精通》系列——图解0x38:请求文件传输

详细解释UDS协议中0x38-请求上传服务的各个参数!!

车载系统攻城狮 3268

Nepire的校OJ入门题解—蓝桥选拔篇(三)

欢迎来到Nepire的校OJ入门题解——————蓝桥选拔篇(三)这次我主要是讲解第八届蓝桥杯全国软件和信息技术专业人才大赛校内选拔赛的七道题目,中间可能会扯到一些其他东西,然后就开始我们的入门题解吧呜喵Problem C:物理题 Description zyf参加了运动会的800米比赛(假设800米跑道是直线),在跑到m米的时候前方k米有一人H,他的速度为x m/s ,假设zyf以y

Nepire的博客 651

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

突破编程困境:OJ-Agent多智能体协同系统如何重塑代码学习体验

你是否曾在深夜面对屏幕上的错误提示束手无策?是否经历过对着复杂算法抓耳挠腮却不得其解?当Stack Overflow的答案也无法解决你的特定问题时,那种挫败感足以让最坚韧的开发者也感到沮丧。今天,我们将深入剖析一个革命性的解决方案——OJ-Agent,这是一个基于camel-ai多智能体框架构建的AI编程助手系统,它不仅能解答你的问题,还能主动预测你的困惑,通过可视化方式解析复杂概念,并引导你建立

gitblog_01404的博客 728

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

C语言刷题环境搭建指南:从小熊猫C++安装到实战调试

在编程学习和算法竞赛中,集成开发环境(IDE)与编译器是开发者最基础且核心的工具链。它们的工作原理是将高级语言代码转换为机器可执行的指令,其技术价值在于大幅降低编码门槛,提升开发调试效率。对于C语言初学者和算法刷题场景而言,一个开箱即用、配置简洁的环境能让人更专注于逻辑本身,而非繁琐的配置过程。应用场景广泛覆盖了计算机教育、编程竞赛备赛和日常算法练习。本文以**小熊猫C++** 和 **MinGW编译器** 为例,深入解析如何快速搭建一个稳定高效的本地C语言练习环境,并涵盖从安装验证、个性化配置到实际刷题调

weixin_33976072的博客 533

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【九度OJ】题目1169:比较奇偶数个数 解题报告

【九度OJ】题目1169:比较奇偶数个数 解题报告标签(空格分隔): 九度OJhttp://ac.jobdu.com/problem.php?pid=1169题目描述:第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。输入:输入有多组数据。 每组输入n,然后输入n个整数(1<=n<=1000)。输出:如果偶数比奇数多,输出NO,否则输出YES。样例输

负雪明烛 1078

Problem Solving Training中的时间管理技巧:如何高效完成5个级别训练

Problem Solving Training是一个面向计算机科学学生的编程训练项目,通过5个级别的系统训练帮助学习者逐步提升算法和数据结构能力。本文将分享实用的时间管理技巧,助你高效完成所有级别训练,成为编程高手。 ## 为什么时间管理对编程训练至关重要? 编程训练往往需要长期投入,而合理的时间规划能让学习效果事半功倍。根据项目设计,每个级别包含大量题目和练习,例如Level 1仅Leet

gitblog_01027的博客 602

杭电OJ——1016 Prime Ring Problem

Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Problem Description A ring is compose of n circles as shown...

编程语言小筑 316

C++编程入门:从A+B问题掌握OJ环境配置与调试技巧

在计算机编程学习中,输入输出处理是基础且核心的概念,它构成了程序与外界交互的桥梁。其原理是通过标准输入流和输出流实现数据的读取与展示,这是所有编程语言共通的底层机制。掌握高效的输入输出技术对于算法竞赛和工程实践至关重要,能显著提升程序性能。在实际应用场景中,尤其是在线评测系统(OJ)如洛谷,正确处理输入输出是解题的第一步。本文将围绕C++中的cin/cout机制,深入探讨如何优化IO效率,并分享本地调试与测试策略,帮助初学者避开常见陷阱,快速上手编程练习。

weixin_30621959的博客 366

[山东科技大学OJ]1512Problem D: 递归计算Ackermann函数

Time Limit: 1 Sec Memory Limit: 16 MB Submit: 6011 Solved: 3186 [Submit][Status] Description 阿克曼函数是非原始递归函数的例子;它需要两个自然数作为输入值,输出一个自然数。它的输出值增长速度非常高。1920年代后期,数学家David Hilbert的学生Gabriel Sudan和Wilhelm Ackermann,当时正研究计算的基础。Sudan发明了一个递归却非原始递归的Sudan函数。1928年,

m0_73840805的博客 632

OJ第三批——Problem M: 虚基类练习:动物

问题及代码: Problem M: 虚基类练习:动物 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 958  Solved: 533 [Submit][Status][Web Board] Description 长期的物种进化使两栖动物既能活跃在陆地上,又能游动于水中。利用虚基类建立一个类的多重继承,包括动物(an

Timor7hao的专栏 835
上一篇: OJ 1783 Problem B 来开个书店吧
下一篇: OJ 2064 Problem D 水果店
LiuLin_Hao
博客等级 码龄7年 78粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值