const

电梯模拟 设计

牧云@^-^@ 提交于 2020-03-18 15:12:22
今天为大家带来一个超级好玩的电梯模拟系统 · 题目概要 模拟某校九层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层候命。 电梯一共有七个状态,即正在开门(Opening)、已开门(Opened)、正在关门(Closing)、已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。 乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。 模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要消耗一定的时间单位(简记为t),比如: 有人进出时,电梯每隔40t测试一次,若无人进出,则关门; 关门和开门各需要20t; 每个人进出电梯均需要25t; 电梯加速需要15t; 上升时,每一层需要51t,减速需要14t; 下降时,每一层需要61t,减速需要23t; 如果电梯在某层静止时间超过300t,则驶回1层候命。 电梯调度规则: 1)就近原则:电梯的主要调度策略是首先响应沿当前行进方向上最近端的请求直到满足最远端请求。若该方向上无请求时,就改变移动方向; 2)在就近原则无法满足的情况下,首先满足更高层的请求; 3)电梯的最大承载人数为13人,电梯人数达到13人后,在有人出电梯之前,不接受进入电梯的请求; 4

C++用数组和链表分别实现Stack

◇◆丶佛笑我妖孽 提交于 2020-03-18 14:07:41
C++用数组和链表分别实现Stack   C++ 学习有段时间了,感觉还是有很多不足啊,今天自己用数组和链表分别实现Stack,当然STL中的Stack肯定不是这么简单,你不妨看一下,说不定有收获呢,若发现有问题,请指正,毕竟对于C++我还是新手。 数组版 // typename可以表示任何类型,而class只能表示类 template < typename T,typename container > class stack { public : // 栈是否为空 bool empty( ) const { return index == 0 ; } // 出栈 void pop( ) { if (empty()) { throw new exception( " 栈中没有数据 " ); } arr[index - 1 ] = 0 ; -- index; } // 出栈,如果默认数组未满继续添加数据,如果已满,重新分配一个两倍的数组, // 把默认数组中的数据拷贝过来,释放默认数组,将指针指向新数组 void push( const T & val) { if (index <= capacity - 1 ) { arr[index ++ ] = val; } else { capacity <<= 1 ; // capacity对应的二进制数左移一位 int * tmp =

洛谷省选——单调队列

隐身守侯 提交于 2020-03-18 13:55:12
T1 题意 花盆 给出n个点的坐标,以及时间差d。求区间内y坐标的最大值与最小值差大于等于d 的最小x轴区间长度。 (n<=1e5, d<=1e6, x,y<=1e6) ### 思路 设l为一段满足条件的区间的左端点,r为该区间最小右端点,则r具有单调性。 『 单调性证明: 设端点l1满足条件的最小右端点为r1, 端点l2(l2>=l1)满足条件的最小右端点为r2。 则: r2>=r1, 否则端点l1满足条件的最小右端点为r2,矛盾。 故: r具有单调性。 』 因此可在对n个点按x排序之后,枚举左端点,用单调队列维护满足条件的区间的y轴上的最大值与最小值。 代码 #include <bits/stdc++.h> #define I __inline__ __attribute((always_inline)) #define ri register int using namespace std; const int inf = 0x3f3f3f3f; const int maxn = 1e5 + 10; I char readc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++; } I int

通过初始化列表初始的情况

邮差的信 提交于 2020-03-18 11:22:19
在构造函数中,以下几类的成员变量必须用初始化列表初始化: 1、类成员为const类型或引用类型 2、类成员为没有默认构造函数的类 3、在继承关系中,派生类必须在其初始化列表中调用基类的构造函数 原因是,const对象或引用只能初始化而不能赋值。构造函数的函数体内只能赋值而不能初始化,因此初始化const对象或引用只能在构造函数之前的初始化列表中初始化。 来源: 51CTO 作者: wx5cb188ffabeef 链接: https://blog.51cto.com/14289397/2479590

Effective C++ 读书笔记(1-7)

安稳与你 提交于 2020-03-18 07:23:31
作者 Scott Meyers 翻译作者 侯捷 C++ 神牛 台湾人 术语: 1.explicit C++提供了 关键字 explicit,可以阻止不应该允许的经过 转换构造函数 进行的隐式转换的发生。声明为explicit的 构造函数 不能在隐式转换中使用。但他们仍然可以用来进行显示转换。 示例: class Test1 { public: Test1(int n) { num = n; } //普通构造函数 private: int num; }; class Test2 { public: explicit Test2(int n) { num = n; } //explicit(显式)构造函数 private: int num; }; int main() { Test1 t1 = 12; //隐式调用其构造函数, 成功 Test2 t2 = 12; //编译错误,不能隐式调用其构造函数 Test2 t3(12); //显式调用成功 return 0; } 2 undefined behavior int *p=0; //p其实是一个NULL指针 std::cout<<*p;//对一个NULL指针取值会导致不明确行为。 条款一: 封装 encapsulation、继承 inheritance、多态 polymorphism 在STL中,迭代器和函数对象都是在C指针之上塑造的

grub参数console=

邮差的信 提交于 2020-03-18 07:13:52
本文主要分析Linux内核如何处理grub参数中的console=ttyS0,115200n8部分,中间还会穿插一些 include/linux/init.h 的内容。 grub参数中的console=有多种形式,根据 Documentation/kernel-parameters.txt 文件, console= [KNL] Output console device and options. tty Use the virtual console device . ttyS [,options] ttyUSB0[,options] Use the specified serial port. The options are of the form "bbbbpnf", where "bbbb" is the baud rate, "p" is parity ("n", "o", or "e"), "n" is number of bits, and "f" is flow control ("r" for RTS or omit it). Default is "9600n8". uart[8250],io, [,options] uart[8250],mmio, [,options] Start an early, polled-mode console on the

《前端之路》- TypeScript(二) 函数篇

丶灬走出姿态 提交于 2020-03-18 02:49:56
目录 一、定义函数方法 二、定义函数传参 三、可选传参 四、默认传参 五、传递剩余参数 六、函数重载 七、箭头函数 八、总结 一、定义函数方法 在 es5 中定时函数的方法有 命名函数和函数表达式(匿名函数)这门两种。那么同样的,在 TypeScript 中,函数的定义是什么样子的呢? 1-1 命名函数 这里需要注意的一点是: viod 类型,是函数不返回任何类型数据 TypeScript 语法 function func1(): string { return '213'; } function func2(): number { return 123; } function func3(): Array<any> { return [123, {}]; } function func4(): Array<number> { return [123, 456]; } function func5(): Array<string> { return ['123', '1233']; } function func6(): void { console.log(123); } 被编译成 ES5 的 JavaScript "use strict"; function func1() { return '213'; } function func2() { return 123; }

c++重学笔记4 - 用const重载成员函数

混江龙づ霸主 提交于 2020-03-17 20:45:43
喜欢这篇文章吗?喜欢的话去看博主的置顶博客,即可依据分类找到此文章的原版得到更好的体验, 图片及代码显示的问题,笔者深感抱歉,想要更好的体验去原博文即可。 title: c++重学笔记4 - 用const重载成员函数 mathjax: true date: 2020-03-13 16:18:03 categories: [c++重学笔记] tags: [c++重学笔记] keywords: [c++重学笔记] const 能够重载成员函数    为什么要重载一遍const? 目前笔者也不太懂,只知道const能够让c++代码更加高效。下面的代码解释了如何使用const重载成员函数,大概是这样的,const对象调用成员函数的时候会调用const版,普通的对象调用普通版。 # include <iostream> using namespace std ; class my_class { int x = 1 , y = 2 ; public : const int & get ( ) const { std :: cout << "x" << std :: endl ; return x ; } // int& get() const {return x; } 这句话不被允许编译,因为可能会改变x的值 int & get ( ) { std :: cout << "y" << std

穿梭框

有些话、适合烂在心里 提交于 2020-03-17 18:28:37
某厂面试归来,发现自己落伍了!>>> // 多选设置栏位 <template> <div class="multipleTransfer"> <el-transfer v-model="rightData" @change="rightChange" @right-check-change="rightCheckChange" :data="data" :titles="$attrs.titles" target-order="push"></el-transfer> <div class="option-container"> <div class="option_item" :class="(isDisabled === 'up' || isDisabled === 'all') ? 'disabled' : ''" @click="changeSort('up')"><i class="el-icon-arrow-up"></i></div> <div class="option_item" :class="(isDisabled === 'down' || isDisabled === 'all') ? 'disabled' : ''" @click="changeSort('down')"><i class="el-icon-arrow-down"></i></div>

Codeforces Round #628 (Div. 2)【A B C D】

╄→гoц情女王★ 提交于 2020-03-17 15:29:42
传送门 A. EhAb AnD gCd 直接输出1,n-1即可 # include <iostream> # include <stdio.h> # include <algorithm> # include <string.h> # include <vector> # include <math.h> # include <map> # include <queue> # include <set> # include <stack> # define pb push_back # define lb lower_bound # define ub upper_bound # define rep(i,a,b) for(int i=a;i<=b;i++) # define per(i,a,b) for(int i=a;i>=b;i--) typedef long long ll ; using namespace std ; const int MAXN = 1e5 + 50 ; const int inf = 0x3f3f3f3f ; const int M = 5000 * 4 ; int a [ MAXN ] ; int main ( ) { std :: ios :: sync_with_stdio ( false ) , cin . tie ( 0 ) , cout