寝室谁最高
【问题描述】
学校选拔篮球队员,每间宿舍最多有 4 个人。现给出宿舍列表,请找出每个宿舍最高的同学。定义一个学生类 Student,有身高 height,体重 weight 等。
【输入格式】
首先输入一个整型数 n (1≤n≤106),表示有 n 位同学。
紧跟着 n 行输入,每一行格式为:宿舍号 name height weight。宿舍号的区间为 [0, 999999], name 由字母组成,长度小于 16,height,weight 为正整数。
【输出格式】
按宿舍号从小到大排序,输出每间宿舍身高最高的同学信息。题目保证每间宿舍只有一位身高最高的同学。
注意宿舍号不足 6 位的,要按 6 位补齐前导 0。
【输入样例】
7
000000 Tom 175 120
000001 Jack 180 130
000001 Hale 160 140
000000 Marry 160 120
000000 Jerry 165 110
000003 ETAF 183 145
000001 Mickey 170 115
【输出样例】
000000 Tom 175 120
000001 Jac ...
相邻数对
【问题描述】 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。
【输入形式】 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。
【输出形式】 输出一个整数,表示值正好相差1的数对的个数。
【样例输入】 6 10 2 6 3 7 8
【样例输出】 3
【样例说明】 值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。
【评分标准】 评测用例规模与约定 1<=n<=1000,给定的整数为不超过10000的非负整数
代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include <iostream>#include <vector>using namespace std;class Pair{public: int a; int b; bool operator==(const Pair& rhs) ...
==:不定义该运算符可接收的类型的转换
前言ERROR:C2676 二进制“==”:“Pair”不定义该运算符或到预定义运算符可接收的类型的转换
解释这个报错大意就是说,编译器不知道Pair类的对象之间该如何判断是否相等
解决123456789101112class Pair{public: int a; int b; // 在类里面增加对"=="的重载函数即可 bool operator==(const Pair &rhs) { return (a == rhs.a) && (b == rhs.b); }};
vector判断与查找特定元素
前言参考自:c++判断vector中是否存在特定元素的方法
vector并未提供确定某一元素是否存在或查找特定元素,但是STL算法提供了以下函数方便我们计算
函数与示例注:示例均包含下列头文件并使用std命名空间
12345#include <iostream>#include <vector>#include <algorithm>#include <string>using namespace std;
1. any_of应用:判断容器中是否存在满足期望的特定元素
参数:any_of包含三个参数,第一第二分别是容器的起始位置和结束位置,第三个参数为条件表达式
返回值:bool,1->存在满足期望的元素;0->不存在满足期望的元素
注意:any_of的第三个参数无法传入单个具体值,只能编写期望的条件表达式
实例:
1234vector<int> num = {1, 3, 6, 2, 4};int i;if (any_of(num.begin(), num.end(), [] (int i) & ...
常见Web漏洞总结
前言转载自:常见的Web应用的漏洞总结(原理、危害、防御)
一、 SQL注入(SQL Inject)[OWASP TOP1 2017]:1.原理:SQL注入就是把SQL命令插入到Web表单然后提交到所在页面请求(查询字符串),从而达到欺骗服务器执行恶意的SQL命令。它是利用现在已有的应用程序,将SQL语句插入到数据库中执行,执行一些并非按照设计者意图的SQL语句。2.原因:根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当。3.危害:数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。网页篡改:通过操作数据库对特定网页进行篡改。网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。服务器被远程控制,被安 ...