自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 生活大爆炸版石头剪刀布P1328

P1328 生活大爆炸版石头剪刀布题目描述石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一 样,则不分胜负。在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势:斯波克:《星际迷航》主角之一。蜥蜴人:《星际迷航》中的反面角色。这五种手势的胜负关系如表一所示,表中列出的是甲对乙的游戏结果。现在,小 A和小 B尝试玩这种升级版的猜拳游戏。已知他们的出拳都是有周期性规律的,但周期长度不一定相等。例如:

2021-05-25 22:45:22 145

原创 二分查找详解(含重复数据)

查找—本文建立在已经完成排序的基础上说到查找,大家都不陌生,今天我就来和大家聊一聊查找效率一般人会使用顺序查找,即按顺序一个一个地分析顺序查找for(int i=0; i<n; i++) if(a[i] == target) { cout << i << endl; break; }但是!!!如果这个n的大小为1亿,那么,我们平均就要做5000万次,太浪费时间了,时间复杂度大体可以看为O(n)。注意!!!有一

2020-12-13 21:43:20 1760

原创 判断质数

判断质数原理 :1.判断这个数是否小于2 , 若小于 , 就直接认定不是2.进行循环 , 从2开始 , 一直到 n / 2 ,如果n对i取余等于0 , 说明i是n的因数 , n就不是质数3.如果循环结束之后还没有整除 , 就说明这是一个质数#include <iostream>using namespace std;bool isprime(int n) { if (n<2) return false; for (int i=2; i&lt

2020-08-03 20:26:25 315

原创 高精度加法c++详细

高精度加法1 2 6+2 3 4先反过来6 2 14 3 2反过来for (int i=0; i<s1.size(); i++) a[n-i-1] = s[i]-'0';for (int i=0; i<s2.size(); i++) b[n-i-1] = s[i]-'0';从左边开始算---->> 6+4=10 ---->> 2+3=5 ---->> 1+2=33 6 0 10>9个位取0进1 5+1=6 十位取6 百位

2020-07-20 10:49:10 205

原创 Queue队列c++附练习(翻扑克牌)以及队列操作特点 自制队列

Queue 队列a---------b------------c------------d-------------e特点:先进先出队列操作1.求队列的第一项 队列名.front()2.求队列的最后一项 队列名.back()3.求队列的长度 队列名.size()4.弹出队列的第一个元素 队列名.pop()5.将一个元素放入队列 队列名.push(元素名)6.判断队列是否为空 队列名.empty()7.定义一个队列 queue<队列元素类型>队列名#i

2020-07-15 21:13:01 937

原创 结构体实例NOIP排名系统详细

NOIP排名#include <iostream>using namespace std;struct Node { //定义一个结构体struct+结构体的名字 string name; int age; int score; //以上均是结构体里的各种元素}; //!!!注意,这里一定要加';'不然会报错//结构体就是一种自己定义的数据类型int main() { int n; cout << "请输入人数:";

2020-07-14 21:39:46 206

原创 插入排序C++详解附注释原理

插入排序原理从第2个数开始(数组下标1)遍历整个数组,把每个数取出来,不停地和他前面的数比较,如果比前面的数小,就把前面的数向后移一位。继续往前比,只到前面没有为止。#include <iostream>using namespace std;int main(){ int n; cin >> n; int a[n]; for (int i = 0; i < n; i++) cin >> a[i]; //输入数据

2020-07-13 10:47:58 206

原创 冒泡排序C++含原理详解

冒泡排序原理从头到尾,先让相邻的两个两两相比,最大的就被排到了最后,然后在从开始,一直到n-i-1,因为最后一个已经是最大的了,不用在管。#include <iostream>using namespace std;int main() { int n; cin >> n; int a[1000]; for (int i = 0;i < n;i++) cin >> a[i]; //读入数据 for (i

2020-07-12 12:06:13 282

原创 工艺品制作C++洛谷题目详解

https://www.luogu.com.cn/problem/P5729工艺品制作题目描述现有一个长宽高分别为 w,x,h(1\le w,x,h\le 20)w,x,h(1≤w,x,h≤20) 组成的实心玻璃立方体,可以认为是由 1\times1\times11×1×1 的数个小方块组成的,每个小方块都有一个坐标 ( i,j,k )(i,j,k)。现在需要进行 q(q\le 100)q(q≤100) 次切割。每次切割给出 (x_1,y_1,z_1),(x_2,y_2,z_2)(x1,y1,z1),

2020-07-11 20:37:35 1193

原创 勇者斗恶龙C++(附注释)

勇者斗恶龙你的国王中有一条n个头的龙,你希望雇佣一些骑士把它杀死。村里有m个骑士,且只能雇佣一次。一个能力值为x的骑士,只能砍掉一个直径不超过x的头,且需要支付的金币为x,如何雇佣这些骑士支付金币最少。如果无解,输出"Loowater is doomed!"样例输入#12 354784样例输出#111样例输入#22 15510样例输出#2Loowater is doomed!#include<iostream>#include<algorith

2020-07-11 16:43:28 1801 1

原创 津津的储蓄计划C++循环题目

题目描述津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会

2020-07-11 12:09:54 879

原创 选择排序C++详解附原理和注释

选择排序原理从头到尾遍历整个数组,每一次找到剩下数组元素中的最小值,把最小值和前面遍历到的元素进行交换#include <iostream>using namespace std;int main() { int n; cin >> n; int a[1000]; for (int i = 0;i < n;i++) cin >> a[i]; for (int i = 0;i < n-1;i++)

2020-07-09 22:59:19 162

原创 桶排序C++容易理解非原地排序

桶排序以数据作为下标,相同的数据放在一起数据范围小时,速度快#include <iostream>using namespace std;int n,k;int b[100]; //做100个桶,以每个元素为下标int main() { cin>>n; for(int i = 0; i < n; i++) { cin >> k; b[k]++; //把相同的元素放进相同的桶里 }

2020-07-09 08:55:18 199

原创 Stack栈

栈 Stack元素先进后出STL自带栈栈的操作1.定义一个栈 stack<栈元素类型>s2.压入数据 s.push(元素名)3.栈顶元素 s.top()4.弹出栈顶元素 s.pop()5.求栈的长度 s.size()6.判断栈是否为空 s.empty( )#include<iostream>#include<stack> //引入头文件using namespace std;int main(){ stack&

2020-07-08 12:18:13 113

原创 Vector C++自制vector

Vector 动态数组自动管理分配数组内存数组名 v1.插入元素 v.push_back()2.弹出最后一项 v.pop_back()3.求数组长度 v.size()4.指向数组第一项的地址 v.begin()​ |⚠️这里是2个指针​ |5.指向数组最后一项的地址 v.end()6.数组第一项的值 v.front()7.数组最后一项的值 v.back()8.判断数组是否为空 v.empty()9.定义一个动态数组 vectorv#include<ios

2020-07-08 12:09:48 198

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除