![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯C/C++
猪八戒1.0
欢迎大家私信和我交流
展开
-
递归实现排列型枚举
【代码】递归实现排列型枚举。原创 2023-11-03 15:20:20 · 92 阅读 · 0 评论 -
双指针带刷
撒撒水啦,直接前缀和,要注意的是完全二叉树不是满二叉树。原创 2023-03-31 20:41:03 · 65 阅读 · 0 评论 -
树状数组与线段树
【代码】树状数组与线段树。原创 2023-03-20 22:13:05 · 55 阅读 · 0 评论 -
第三题数列求值
直接搞或者用数组#include<bits/stdc++.h>using namespace std;int main(){ long long ans; long long a=1,b=1,c=1; for(long i=4;i<=20190324;i++) { ans=(a+b+c)%10000; a%=10000; b%=10000; c%=10000; a=b; b=c; c=ans; } cout<<ans; re原创 2022-04-05 15:18:48 · 56 阅读 · 0 评论 -
第7题 完全二叉树的权值
#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int N; //结点个数 int n; //结点值 int ans=0; //答案,也就是深度 int num=0; //次数 int flag=0; //2^16=65,536 最多一行有65536个结点 每个结点取-10^5 ll max=-7553600000; scanf("%d",.原创 2022-04-06 23:51:10 · 1130 阅读 · 0 评论 -
2019年第十届蓝桥杯组队题目第一题
20的5次幂百万次,1s不会超时#include<iostream>using namespace std;int one[20] = {97, 92, 0, 0, 89, 82, 0, 0, 0, 95, 0, 0, 94, 0, 0, 0, 98, 93, 0, 0};int two[20] = {90, 85, 0, 0, 83, 86, 0, 97, 0, 99, 0, 0, 91, 83, 0, 0, 83, 87, 0, 99};int three[20] = {0,.原创 2022-04-03 08:58:29 · 327 阅读 · 0 评论 -
第二题年号字串
1.直接笔算 3分钟得到答案BYQ2.原创 2022-04-03 10:44:14 · 444 阅读 · 0 评论 -
第四题数的分解
#include<bits/stdc++.h>using namespace std;bool check(int x){ int t=x; while(t){ if(t%10==2||t%10==4) return false; t/=10; } return true;}int main(){ int k; int ans=0; for(int i=1;i<2019;i++) { for(int j=i+1;j<2019;j++) .原创 2022-04-05 15:46:57 · 149 阅读 · 0 评论 -
第9题 后缀表达式
由于有括号,正可变负,负可变正。更实际的正负没有什么关系结果为,最大的数加上(最小的数的相反数)加上其他数的绝对值#include <bitsdc++.h>typedef long long ll;using namespace std;int main() { int n, m; cin >> n >> m; vector<int>a(n + m + 1); for (int i = 0; i < n原创 2022-04-08 13:00:23 · 103 阅读 · 0 评论 -
第9题 等差数列
#include<iostream>#include<algorithm>#include<vector>using namespace std;int b[1000];int main(){ vector<int> a; int n, x; int max = 0; int record = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> x;.原创 2022-04-08 14:38:34 · 121 阅读 · 0 评论 -
第6题 特别数的和
#include<bits/stdc++.h>using namespace std;bool check(int x){ int t=x; while(t){ if(t%10==2||t%10==0||t%10==1||t%10==9){ return true; } t/=10; } return false;}int main(){ int n; long long ans=0; scanf("%d",&n); for(long lo.原创 2022-04-06 10:02:29 · 278 阅读 · 0 评论 -
第五题迷宫
行列值与maze里的改一下就可#include<bits/stdc++.h>#include<queue>#include<string>using namespace std;#define ROWS 4#define COLS 6string maze[ROWS+2]={ "010000", "000100", "001001", "110000"};int dir[4][2]={{1,0},{0,-1},{0,1},{-1,0}};/.原创 2022-04-06 09:48:41 · 246 阅读 · 0 评论 -
提高递归效率
f(1)=1,f(2)=1,f(3)=2,f(n)=原创 2022-03-12 11:16:25 · 493 阅读 · 1 评论 -
自行车停放
有n辆自行车依次来到停车棚,除了第一辆自行车外,每辆自行车都会恰好停放在已经在停车棚里的某辆自行车的左边或右边。(e.g.停车棚里已经有3辆自行车,从左到右编号为:3,5,1。现在编号为2的第4辆自行车要停在5号自行车的左边,所以现在停车棚里的自行车编号是:3,2,5,1)。给定n辆自行车的停放情况,按顺序输出最后停车棚里的自行车编号。n≤100000。方法一:使用STL list#include <bits/stdc++.h>using name...原创 2022-03-02 23:36:35 · 105 阅读 · 0 评论 -
静态链表,双向链表,STL list
1.静态链表const int N = 10000; //按需要定义静态链表的空间大小struct node{ //单向链表 int id; //这个结点的id int data; //数据 int nextid; //指向下一个结点的id原创 2022-03-02 19:47:21 · 123 阅读 · 0 评论 -
回形取数题
回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下输入:输入第一行是两个不超过 200200 的正整数 m, n,表示矩阵的行和列。接下来 m行每行 n个整数,表示这个矩阵。输出:输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。该题比较简单#include<bits/stdc++.h>using namespace std;int a[2...原创 2022-03-02 00:17:31 · 77 阅读 · 0 评论 -
a+b的和(大数处理)
#include <bits/stdc++.h>using namespace std;string s;string A,B;string add(string a,string b){ int i=a.size()-1; int j=b.size()-1; int c=0; for(;i>=0||j>=0||c > 0;i--,j--){ //c>0这个条件不要掉 if(i>=0) .原创 2022-03-01 23:32:37 · 395 阅读 · 3 评论 -
sort排序
头文件 algorithm#include<iostream>#include<algorithm>using namespace std;int main(){ int N; cin>>N; int a[10]; for(int i=0;i<N;i++){ cin>>a[i]; } cout<<endl; for(int i=0;i<N;i++){ cout<<a[i]<<"原创 2022-02-26 15:41:57 · 163 阅读 · 0 评论 -
k天纪念日
#include<iostream>using namespace std;int day[13]={0,31,30,31,30,31,30,31,31,30,31,30,31};//先把2月分定为30天,之后再修改 int main(){ int y,m,d,k; while(1){ cin>>y>>m>>d>>k; for(int i=1;i<=k;i++){ if(m%400==0||((m%100...原创 2022-02-26 11:56:06 · 105 阅读 · 0 评论 -
今天是星期几?
方法一:已知1年1月1日是星期一,均适用#include<iostream>#include<cstring>using namespace std;int whatDay(int y,int m,int d){ int ans=0; for(int i=1;i<y;i++){ if(i%400==0||((i%100!=0)&&(i%4==0))){ ans+=366%7; ans%=7; } else{ ans+原创 2022-02-26 11:16:07 · 92 阅读 · 0 评论 -
打印升级版三角形
初级版:#include<iostream>using namespace std;int main(){ int n=0; cin>>n; for(int i=1;i<=n;i++){ string space=string(n-i,' '); string ch=string(2*i-1,'A'+i-1); cout<<space+ch<<endl; } return 0;} 升级版:#incl.原创 2022-02-21 09:42:39 · 440 阅读 · 0 评论 -
蓝桥杯直线(省赛C/C++填空)
在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上, 那么这些点中任意两点确定的直线是同一条。给定平面上 2 × 3 个整点(x,y)∣0≤x<2,0≤y<3,x∈Z,y∈Z {(x, y)|0 ≤ x < 2, 0 ≤ y < 3, x ∈ Z, y ∈ Z},即横坐标 是 0到 1 (包含 0 和 1) 之间的整数、纵坐标是 0 到 2 (包含 0 和 2) 之间的整数 的点。这些点一共确定了 11 条不同的直线。给定平面上 20×21 个整...原创 2022-01-04 21:45:20 · 3337 阅读 · 14 评论 -
蓝桥杯卡片(省赛C/C++填空)
小蓝有很多数字卡片,每张卡片上都是数字 0到 9。 小蓝准备用这些卡片来拼一些数,他想从 1开始拼出正整数,每拼一个, 就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自己能从 1 拼到多少。 例如,当小蓝有 30张卡片,其中 0到 9各 3 张,则小蓝可以拼出 1到 10, 但是拼11时卡片 1 已经只有一张了,不够拼出 11。 现在小蓝手里有 0到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1拼到多少? 提示:建议使用计算机编程解决问题思路:定...原创 2022-01-04 18:12:09 · 1396 阅读 · 0 评论 -
蓝桥杯星期一(C/C++省赛填空)
整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)注意:需要提交的只是一个整数,不要填写任何多余的内容或说明文字。方法一:通过excel输入1901年1月1日和2000年12月31日,通过减法得出天数。36524/7=5217余5右键设置单元格格式-日期-星期三,即可得到日期,或者电脑日历查看,电脑日历查看最早年限1922年,1901年查不出。得出2000年12月31日正好星期日,可以往前推,周...原创 2022-01-01 23:08:41 · 492 阅读 · 0 评论 -
七段码(2020省赛C/C++填空)
小蓝要用七段码数码管来表示一种特殊的文字。上图给出了七段码数码管的一个图示,数码管中一共有 7段可以发光的二极管,分别标记为 a,b,c,d,e,f,g小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符的表达时,要求所有发光的二极管是连成一片的。例如:b 发光,其他二极管不发光可以用来表达一种字符。例如 c发光,其他二极管不发光可以用来表达一种字符。这种方案与上一行的方案可以用来表示不同的字符,尽管看上去比较相似。例如:a,b,c,d,e 发光,f,g不发光可以用来表达原创 2022-01-01 21:55:22 · 477 阅读 · 0 评论 -
迷宫(2017省赛C/C++填空)
X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。 房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间,R表示走到右边的房间,U表示走到上坡方向的房间,D表示走到下坡方向的房间。 X星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此! 开始的时候,直升机把100名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。迷宫地图如下:UDDLUULRULUURLLLRRRURRUURLDLRDRUDDD原创 2022-01-01 17:15:31 · 169 阅读 · 0 评论 -
门牌制作(2020省赛C/C++填空题)
小蓝要为一条街的住户制作门牌号。这条街一共有 2020位住户,门牌号从 1到 2020号。小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2个字符 1,1 个字符 7。请问要制作所有的 1到 2020号门牌,总共需要多少个字符 2?方法一:分别计算个位,十位,百位,千位,看是否有2,有则加1#include <iostream>using namespac原创 2022-01-01 15:31:14 · 468 阅读 · 0 评论