C++
c++基础学习
爱学习的啵啵仔
不积跬步无以至千里
展开
-
题目 1514: [蓝桥杯][算法提高VIP]夺宝奇兵
时间限制: 1Sec 内存限制: 128MB 提交: 915 解决: 583题目描述在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图:73 88 1 02 7 4 44 5 2 6 5”夺宝奇兵”从山下出发,到达山顶,如何选路才能得到最多的珠宝呢?在上图所示例子中,按照5-> 7-> 8-> 3-> 7的顺序,将得到最大值30输入第一行正整数N(100> =N> 1原创 2021-05-31 15:49:59 · 321 阅读 · 0 评论 -
字符串内排序-c++
题目 1742: 字符串内排序时间限制: 1Sec 内存限制: 32MB 提交: 1273 解决: 304题目描述输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。输入测试数据有多组,输入字符串。输出对于每组输入,输出处理后的结果。样例输入tianqin样例输出aiinnqt#include<bits/stdc++.h>#include<iostream>#include<cstring>#include<al原创 2021-05-26 11:59:34 · 556 阅读 · 0 评论 -
C++函数模板定义语法
#include <iostream>using namespace std;template <typename T>//或者<class T>T abs(T a){ return a<0?-a:a;};int main(){ int a=5; float b=6.4561; double c=7.5565546; cout<<abs(a)<<endl; cout<<a原创 2020-11-10 10:13:54 · 255 阅读 · 0 评论 -
蓝桥杯 移动距离
移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 …我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空格分开,都在1到10000范围内w为排号宽度,m,n为待计算的楼号。要求输出一个整数,表示m n 两楼间最短移动距离。例原创 2020-11-09 21:17:15 · 166 阅读 · 0 评论 -
蓝桥杯第六届 五星填数
标题:五星填数如【图1.png】的五星图案节点填上数字:1~12,除去7和11。要求每条直线上数字和相等。如图就是恰当的填法。请你利用计算机搜索所有可能的填法有多少种。注意:旋转或镜像后相同的算同一种填法。请提交表示方案数目的整数,不要填写任何其它内容。答案 :12#include<iostream>#include<algorithm>using namespace std;int main(){ int a[]={1,2,3,4,5,6,8,9,10,1原创 2020-11-05 11:07:37 · 209 阅读 · 0 评论 -
走迷宫(深度优先搜索)
输入格式第一行输入两个整数n(1≤n≤11),m(1 ≤m ≤11),表示迷宫的行和列。然后有一个n × m的地图,地图由’.’、’#’、's '.‘e’这四个部分组成。’.‘表示可以通行的路,’#’表示迷宫的墙,'s’表示起始点,'e’表示终点。输出格式输出一个整数,表示从’s '到达’e’的所有方案数。样例输入s####.####.####.####. . . .e样例输出1#include<cstdio>#include<iostream>usin原创 2020-11-01 10:58:35 · 1152 阅读 · 3 评论 -
词汇导入词根词缀字典
获取页面英文单词,换成单词,单词,单词,~~的格式 导入本地词库将当前文本的英语单词取出取出单词,存入到shucu.out文件中获取当前单词了 直接复制单词导入就行首先件里文件夹123程序代码如下#include<iostream>#include<cstdlib>#include<cstring>using namespace std;int main(){ char str[300][100]; freopen("english.in","r原创 2020-10-24 22:55:15 · 511 阅读 · 0 评论 -
蓝桥杯算法笔记知识点归纳--个人笔记
#include<iostream>//输入输出控制流 #include<algorithm>//快排和全排列 #include<bitset>//二进制函数 #include<iomanip>//进制转换 #include<cstdlib>//文件输入输出 #include<cmath>//常用数学函数 #include<bits/stdc++.h>//万能文件头 实在记不住就把这个记住就好了 using n原创 2020-10-16 16:54:09 · 522 阅读 · 0 评论 -
蓝桥杯校内选拔赛C/C++高职组
蓝桥杯校内选拔赛C/C++高职组杨辉三角数协和级数让我怎能过大年循环素数位平方和杨辉三角数二项式的系数规律,我国数学家很早就发现了。如【图1.png】,我国南宋数学家杨辉1261年所著的《详解九章算法》一书里就出现了。其排列规律:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35原创 2020-10-15 17:41:20 · 751 阅读 · 0 评论 -
蓝桥杯2013年第四届真题错误票据
题目 1458: [蓝桥杯][2013年第四届真题]错误票据时间限制: 1Sec 内存限制: 128MB 提交: 3972 解决: 1393题目描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入要求程序首先输入一个整数N(N<原创 2020-10-15 11:46:26 · 204 阅读 · 0 评论 -
蓝桥杯 比大小(结构体)
试题 算法提高 比大小资源限制时间限制:1.0s 内存限制:256.0MB问题描述 输入n个字符串,比较这些字符串的大小并统计并按字典序输出字符串及出现个数输入格式 输入的第一行包含一个整数n,表示字符串个数。接下来n行,表示输入的字符串。输出格式 输出n行,每行包含一个字符串及一个整数,表示字符串及出现个数。样例输入5aabbbcaabsdffgsgjklsa样例输出aab 2bbc 1sdffg 1sgjklsa 1数据规模和约定 30% l=1原创 2020-10-14 13:08:35 · 400 阅读 · 0 评论 -
蓝桥杯 分糖果(模拟题)
问题描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入程序首先读入一个整数N(2< N< 100),表示小朋友的人数。接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)输出要求程序输出一个整数,表示老原创 2020-10-13 19:27:22 · 1381 阅读 · 0 评论 -
蓝桥杯 后缀表达式
#include<iostream>#include<algorithm>using namespace std;int main(){ int n,m; cin>>n>>m; int cns=n+m+1; int str[cns]; for(int i=0;i<cns;i++) { cin>>str[i]; } sort(str,str+cns,greater<int>());//进行从大到小排序.原创 2020-10-09 23:17:51 · 223 阅读 · 0 评论 -
C++全排列练习(不用暴力那么麻烦)
通过几个例题来练习过大年公式武汉交通过大年#include<iostream>#include<algorithm>using namespace std;int main(){ int a[]={0,1,2,3,4,5,6,7,8,9}; do{ if(a[0]==0||a[3]==0) continue; long int s1=a[0]*1000000+a[1]*2*100000+a[2]*3*10000+a[3]*4*1000+a[4]*5*100+原创 2020-10-07 16:35:57 · 324 阅读 · 0 评论 -
C++中find函数的用法
#include<iostream>using namespace std;int main(){ string str="abcd123456798"; string s="123" // cout<<str.find("123")<<endl;这样也行 cout<<str.find(s)<<endl; //使用find判断括号str里面是否包含子串123 //有则返回首次出现的位置,没有这返回一个非常大的数(原创 2020-09-28 19:50:54 · 901 阅读 · 0 评论 -
C++中getline的使用
输入一组字符,遇到0截止#include<iostream>using namespace std;int main(){ char str[100]; cin.getline(str,100,'0');//让输入遇到0则停止输入,结果不包含0; //getline(str,'0'); cout<<str; return 0;}原创 2020-09-28 19:23:03 · 181 阅读 · 0 评论 -
C++的string赋值拼接比较
(和C语言比起来 还是要方便很多)#include<iostream>#include<cstring>using namespace std;int main(){ string str1,str2; cout<<"请输入两个字符串"<<endl; cin>>str1>>str2; cout<<"判断两个字符串是否相等"<<endl; if(str1==str2) {cout<原创 2020-09-28 17:37:13 · 315 阅读 · 0 评论 -
你一共在这个世界存活了多少天--c++
写着玩原创 2020-09-16 23:55:18 · 414 阅读 · 0 评论 -
蓝桥杯 绝对值排序
题目 1169: 绝对值排序时间限制: 1Sec 内存限制: 128MB 提交: 4020 解决: 1494题目描述输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。输入输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。输出对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。原创 2020-08-28 22:33:21 · 214 阅读 · 0 评论 -
字符删除 --c++
题目 1622: [蓝桥杯][算法训练VIP]字符删除时间限制: 1Sec 内存限制: 128MB 提交: 816 解决: 528 题目描述 编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串打印出来。 输入原创 2020-08-09 13:38:57 · 301 阅读 · 0 评论 -
蓝桥杯 2018年第九届真题 矩阵求和
蓝桥杯 2018年第九届真题 矩阵求和 时间限制: 1Sec 内存限制: 128MB 提交: 27 解决: 0 题目描述 经过重重笔试面试的考验,小明成功进入 Macrohard 公司工作。今天小明的任务是填满这么一张表:表有 n 行 n 列,行和列的编号都从1算起。其中第原创 2020-08-05 17:01:27 · 540 阅读 · 0 评论 -
蓝桥杯 算法训练 区间k大数查询 --c++
试题 算法训练 区间k大数查询提交此题 评测记录 资源限制时间限制:1.0s 内存限制:256.0MB问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输原创 2020-08-03 17:35:10 · 216 阅读 · 0 评论 -
蓝桥杯 算法提高 计算超阶乘
试题 算法提高 计算超阶乘提交此题 评测记录资源限制时间限制:1.0s 内存限制:256.0MB问题描述 计算1*(1+k)(1+2k)(1+3k)…(1+n*k-k)的末尾有多少个0,最后一位非0位是多少。输入格式 输入的第一行包含两个整数n, k。输出格式 输出两行,每行一个整数,分别表示末尾0的个数和最后一个非0位。样例输入15 2样例输出05数据规模和约定 1<=k<=10,1<=n<=1000000。...原创 2020-08-03 11:21:00 · 290 阅读 · 0 评论 -
选择排序--时间复杂度O(n2)
#include<bits/stdc++.h>//万能文件头 using namespace std;int main(){ int str[100]; int cns=0; while(scanf("%d",&str[cns++])!=EOF); for(int i=0;i<cns-1;i++) { for(int j=i+1;j<cns;j++) { if(str[i]>str[j]) { swap(str[i],str[原创 2020-08-02 15:35:50 · 524 阅读 · 0 评论 -
如何使用sort快速排序
试题 算法提高 快速排序 提交此题 评测记录 资源限制时间限制:1.0s 内存限制:256.0MB问题描述用递归来实现快速排序(quick sort)算法。快速排序算法的基本思路是:假设要对一个数组a进行排序,且a[0] = x。首先对数组中的元素进行调整,使x放在正确的位置上。同时,所有比x小的数都位于它的左边,所有比x大的数都位于它的右边。然后对于左、右两段区域,递归地调用快速排序算法来进行排序。输入格式:输入只有一行,包括若干个整数(不超过10个),以0结尾。输出原创 2020-07-29 16:18:27 · 899 阅读 · 0 评论 -
蓝桥杯算法提高欧拉函数--复杂度为O(n log n)
题目 1541: [蓝桥杯][算法提高VIP]欧拉函数时间限制: 1Sec 内存限制: 128MB 提交: 438 解决: 200题目描述给定一个大于1,不超过2000000的正整数n,输出欧拉函数,phi(n)的值。 如果你并不了解欧拉函数,那么请参阅提示。提示 欧拉函数phi(n)是数论中非常重要的一个函数,其表示1到n-1之间,与n互质的数的个数。显然的,我们可以通过定义直接计算p原创 2020-07-29 15:26:08 · 407 阅读 · 0 评论 -
C++如何使用文件输入与输出(freopen)
注意输入输出文件必须和程序放在同一个文件目录中#include<iostream>#include<cstdlib>//需添加此文件头using namespace std;int main(){ int a,b; freopen("mid.in","r",stdin);//从mid.in文件中读入数据 freopen("mid.out","w",stdout);//将结果输出到min.out文件中 cin>>a>>b; cout<&原创 2020-07-25 16:28:01 · 9681 阅读 · 0 评论 -
进制转换———三行代码解决
为大家梳理一下I/O数据库提供的操作符操纵符名含义dec数值采用十进制表示hex数值采用十六进制表示oct数值采用八进制表示endl插入换行符ends终止字符串setw设置输出数据字段宽度为setwsetprecision(int)设置浮点数小数点位数#include<iostream>#include<iomanip>//注意需包含文件头iomanipusing namespace std;int原创 2020-07-25 15:39:07 · 213 阅读 · 0 评论 -
二分查找(C/C++详细注释)
#include"stdio.h" int main() { int n,a;//n:一共多少个数 a:要找的那个数 int str[10000]={0}; scanf("%d%d",&n,&a);//输入值 for(int i=1;i<=n;i++) { str[i]=i; //太懒 让机器自动赋值 } int cns=0;//统计程序执行次数 int t=1;//数组头部下标 int w=n;//数组尾部下标 int xb=0;原创 2020-07-28 15:08:18 · 247 阅读 · 0 评论