![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯C语言A组
嗨!苹果^O^
因为挚爱所以坚持,因为坚持所以热爱
展开
-
练习题串的处理
串的处理在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:把每个单词的首字母变为大写。把数字与字母之间用下划线字符(_)分开,使得更清晰把单词中间有多个空格的调整为1个空格。例如:用户输入:you and me what cpp2005program则程序输出:You And Me What Cpp_2005_program用户输入:this is a 99cat则程序输出:Th原创 2021-04-17 11:39:18 · 118 阅读 · 0 评论 -
第十二届模拟赛,bfs广度优先搜索
题目描述小蓝负责花园的灌溉工作。花园可以看成一个 n n n 行 m m m 列的方格图形。中间有一部分位置上安装有出水管。小蓝负责花园的灌溉工作。花园可以看成一个 n n n 行 m m m 列的方格图形。中间有一部分位置上安装有出水管。)小蓝可以控制一个按钮同时打开所有的出水管,打开时,有出水管的位置可以被认为已经灌溉好。每经过一分钟,水就会向四面扩展一个方格,被扩展到的方格可以被认为已经灌溉好。即如果前一分钟某一个方格被灌溉好,则下一分钟它上下左右的四个方格也被灌溉好。给定花园水管的位置原创 2021-04-13 17:38:25 · 156 阅读 · 0 评论 -
数组指针和指针数组
参考大佬的https://www.cnblogs.com/mq0036/p/3382732.html原创 2021-04-10 20:03:56 · 65 阅读 · 0 评论 -
蓝桥杯第十一届C/C++ A组
A#include<bits/stdc++.h>using namespace std;int main(){ int i,x,out=0; for(i=1;i<=2020;++i){ int s=i; while(s){ x=s%10; s/=10; if(x==2) out++; } } c原创 2021-04-09 15:22:56 · 194 阅读 · 0 评论 -
蓝桥杯最后10天
蓝桥杯最后10天小记:题型:填空题,代码填空,编程题1,递推,递归√2,枚举,枚举有的人也叫暴力✔3,动态规划√4,看大佬经验贴,5,dfs判断连通域○“1.填空题求解方式不限。填空题基本上暴力(也就是枚举)都可以跑出来,有些题目代码实现复杂,手算简单的可以手算,有些与日期有关的题可以查windows自带的日历。总之,怎么方便怎么来。2.代码填空题基本上全是递归,既然是递归,函数往往不会只有一个地方调用自身,找一下其他调用自身的语句,稍微推理一下就能得出正确答案。3.编程题不要空着!尽量原创 2021-04-08 14:02:43 · 140 阅读 · 0 评论 -
21模拟,灌溉,队列,枚举
21模拟,灌溉link.将最初水龙头的位置标记,存入队列,再用一个队列存储下一分钟蔓延的位置,每分钟结束,更新队列中的元素,最后输出在规定时间内灌溉的位置有多少个即可。pair参考博客https://blog.csdn.net/sevenjoin/article/details/819376954. empty判断队列是否为空的,如果为空则返回true。如:#include<bits/stdc++.h>using namespace std;int a[105][105];i原创 2021-04-08 13:24:35 · 46 阅读 · 0 评论 -
左移一位<<1相当于乘2,左移2位<<2相当于乘4,右移是除,13国4-高僧斗法,博弈论
#include<bits/stdc++.h>using namespace std;int main(){ int a=3; int b=a<<2;//左移一位相当于乘2 printf("%d",b);}13国4-高僧斗法,博弈论link.这个题目比较有意思。参考博客:https://blog.csdn.net/mymilkbottles/article/details/51362703...原创 2021-04-08 08:59:45 · 1705 阅读 · 0 评论 -
算法训练 连续正整数的和(枚举)
试题 算法训练 连续正整数的和link.问题描述 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入一个正整数 n(<=10000) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+…+b=n。 对于多种表示法,a小的方案先输出。样例输入78样例输出1 1218 2125 27枚举是蓝桥杯中最简单的做法题,枚举最容易出现的问题是超时,for循环一定要想想加条件退出。20分代码:#incl原创 2021-04-07 21:06:08 · 195 阅读 · 0 评论 -
for循环,for循环中++i和i++的区别,结果上没有区别,效率上++i效率高些
for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。for(表达式1;表达式2;表达式3){ 循环体; }for循环中++i和i++的效率区别For循环中i++与++i的主要区别如下:1、引用顺序不同。前者是:先引用,后增加,,后者是:先增加,后引用,++i是先改变i的值,而i++是先使用i值然后再改变它的值。例如:i的原值是5,则对于 j=++i,j的值为6;对于 j=i++原创 2021-04-06 20:13:07 · 3328 阅读 · 0 评论 -
13省7- 错误票据,字符串处理,字符串转int stringstream is(str)
13省7- 错误票据link.这个题目的难点在多处对字符串的处理,如输入多行数,并对换行符进行处理(getchar()一定不能少),对输出的字符串进行分割(c++没有写好的split函数,需要自己实现),把字符串转成整型数处理(s2i()模板)把输入分割后的数存储在数组里,数组下标表示这个数,对应的值表示这个数出现的次数#include<bits/stdc++.h>using namespace std;int id[10001]={0};int main(){ int原创 2021-04-05 17:11:58 · 57 阅读 · 0 评论 -
13省Ca4-颠倒的价牌,数组
13省Ca4-颠倒的价牌link.#include <bits/stdc++.h>using namespace std;const int N=1e4;int A[N],W[N],num[10]={0,1,2,-1,-1,5,9,-1,8,6};int change(int x){ int a=x%10;x/=10; int b=x%10;x/=10; int c=x%10;x/=10; int d=x%10;x/=10; a=num[a];原创 2021-04-04 20:36:25 · 57 阅读 · 0 评论 -
13省4-黄金连分数,memcpy函数语法,memcmp语法
13省4-黄金连分数link.用数组处理大数memcpy函数语法函数原型void *memcpy(void destin, void source, unsigned n);参数destin-- 指向用于存储复制内容的目标数组,类型强制转换为 void 指针。source-- 指向要复制的数据源,类型强制转换为 void 指针。n-- 要被复制的字节数。memcmp语法函数原型int memcmp(const void *str1, const void *str2, size_t原创 2021-04-04 17:14:49 · 62 阅读 · 0 评论 -
14国2-出栈次序,递归,21模拟赛跳跃
14国2-出栈次序,递归link. #include <bits/stdc++.h>using namespace std;int num=0;int recursion(int a,int b){//左边车道上的车数目a,检车站里扯的数目B,占中,站外 if(a==0) return 1; if(b==0) return recursion(a-1,b+1); else return recursion(a-1,b+1)+recursion(a,原创 2021-03-31 20:58:49 · 39 阅读 · 0 评论 -
三角函数
因为secA=1/sinA,cscA=1/cosA,所以当度数分别为0°,30°,45°,60°,90°,120°,135°,150°,180°,270º,360º时,可得sec的值分别为 ∅,2,√2,2√3/3,1,,2√3/3,√2,2,∅可得csc的值分别为 1,2√3/3,√2,2,2,∅,-2,-√2,-2√3/3,-1扩展资料:一、secx是正割,定义斜边比邻边也就是余弦的倒数。secx=1/cosx正割(Secant,sec)是三角函数的一种。它的定义域不是整个实数集,值域是原创 2021-03-09 15:58:05 · 18854 阅读 · 2 评论 -
2021-03-30
20省装饰珠link.原创 2021-03-30 10:22:06 · 55 阅读 · 0 评论 -
绳圈,找规律动态规划。13省梅森素数,李白打酒,递推,算法训练k好数,递归,动态规划
绳圈link.参考博客:https://blog.csdn.net/b1723407539/article/details/107974967 #include<bits/stdc++.h> using namespace std;double p[102][102];int main(){ p[1][1]=1; for(int i=2;i<=100;i++){ for(int j=1;j<=i;j++){原创 2021-03-28 18:03:28 · 178 阅读 · 0 评论 -
13省组素数,全排列,素数判断,
13省组素数,全排列,素数判断link.代码一:#include<bits/stdc++.h>using namespace std;int a[4] = {1, 4, 9, 9};bool isPrime(int n) { for(int i = 2; i <= (int)sqrt(n); i++) { if(n % i == 0) { return false; } } return tru原创 2021-03-26 21:57:46 · 54 阅读 · 0 评论 -
12省微生物繁殖,for循环模拟,12省,古堡算式全排列,12省鲁卡斯队列黄金比例比较,double精度12省填空题猜生日枚举,12省填空题土地测量,double12省填空题巧排扑克牌,12省汉诺塔
12省填空提微生物繁殖,for循环模拟link.在草稿纸上推演了很久其实规律都写出来了,但我当时愣是没有发现,推演找规律过程不要着急,回头看看,那就是规律#include<bits/stdc++.h>using namespace std;//一个新出生的 XX,半分钟之后吃掉 11 个 YY,并且,从此开始,每隔 11 分钟吃 11 个 YY。//新出生的x过半分钟后,每1分钟吃//x加倍后,余下的那部分继续1分钟y-,部分半小时后y-int main(){原创 2021-03-26 19:25:08 · 139 阅读 · 0 评论 -
13省世纪末的星期,闰年判断,星期循环,
13省世纪末的星期,闰年判断,星期循环link.未来哪一个离我们最近的一个世纪末年(即 xx99xx99 年)的 1212 月 3131 日正好是星期天(即星期日)?也就是找2013年以后,第一个xx99年的12月31星期日已知1999 年的 12 月 31 日是星期五2013.12.31星期二#include<bits/stdc++.h>using namespace std;int isleap(int y){ if((y%4==0&&y%100!=0原创 2021-03-25 21:54:41 · 135 阅读 · 0 评论 -
13国猜灯谜,全排列板子题,13年国骰子迷题,dfs,较简单可以经常回顾,教经典,2020省字串排序,冒泡排序,找规律,2012省棋盘放麦子
13国猜灯谜数据回顾题干link.当做全排列题,调试发现不对时,不要怀疑自己全排列板子有问题,绝大可能是我看题数据的时候,有什么细节地方写错了。就比如这个题。请猜谜 * 请猜谜 = 请边赏灯边猜“边”是重复出现的错误的代码:小邹语录:这个错误很折磨人,涉及题目数据部分,一定要经常回来题干逐字逐句看是不是一样的。#include<bits/stdc++.h>using namespace std;int a[10]={0,1,2,3,4,5,6,7,8,9};int main原创 2021-03-25 18:12:14 · 178 阅读 · 0 评论 -
13年国埃及分数填空题,除转乘,13年国,好好学习,全排列,13国连续奇数和,两层for循环暴力,
13年国,埃及分数填空题link.遇到除法精度问题,首先看看能不能换成乘法解决问题。换成乘法可以避免除法运算浮点数运算的溢出等不精确原因#include<bits/stdc++.h>using namespace std;#define MAX 10000int main(){ int a,b,sum=0; for(a=1;a<MAX;a++){ for(b=1;b<MAX;b++) if(2*a*b==45*(原创 2021-03-24 17:42:15 · 63 阅读 · 0 评论 -
16省7-剪邮票,dfs,连通域检测板子题,for循环12选5板子题,for循环优化,20省7成绩统计,自动类型转换int-double,单词分析,char-int
16省7-剪邮票link.#include<bits/stdc++.h>using namespace std;int sel[12];int N[12][12]={0};int vis[12];void dfs(int pos){ for(int i=0;i<12;i++){ if(N[pos][i]&&sel[i]==1&&vis[i]==0){ vis[i]=1;原创 2021-03-24 09:36:19 · 60 阅读 · 0 评论 -
20省2-5- 七段码 深搜检测连通域 板子题,细心等于判断是==
20省2-5- 七段码link.【dfs】连通域七段码-二进制,深搜检测连通域if括号里面的判断一定要用==#include<bits/stdc++.h>using namespace std;int N[7][7]={0};//不相连int vis[7];int sel[7];void dfs(int pos){ for(int i=0;i<7;i++){ if(N[pos][i]&&sel[i]&&vis[i]原创 2021-03-23 17:37:51 · 90 阅读 · 0 评论 -
18省2-明码
18省2-明码问题描述汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是:第1字节,第2字节第3字节,第4字节…第31字节, 第32字节这道题目是给你一段多个汉字组成的信息,每个汉字用32个字节表示,这里给出了字节作为有符号整数的值。题目的要求隐藏原创 2021-03-23 16:12:12 · 67 阅读 · 0 评论 -
13省8-翻硬币,细心模拟
13省8-翻硬币link.细心模拟方法1:模拟法,逐个翻转字符串的字符比对方法2:计算。比对两个字符串不同字符的位置和个数,其个数必然为偶数,从左往右,两个两个一对,只需要将每一对不同字符间隔的位置数量相加求和即可。#include<bits/stdc++.h>using namespace std;int main(){ char a[1000]={'0'},b[1000]={'0'}; gets(a); gets(b); int i,num=0,原创 2021-03-22 20:20:56 · 70 阅读 · 0 评论 -
13省4-黄金连分数,java大数运算,13国5-格子刷油漆,递推动态规划,20模2-Cc2-互质个数,质数,
13省4-黄金连分数link.这是java的一道大数运算的题13国5-格子刷油漆link.这是一个递推题,动态规划也可以,需要花时间找规律13国5-格子刷油漆进制1949)link.直接用计算器可以解决20模2-Cc2-互质个数link.粗心95/5=19#include<bits/stdc++.h>using namespace std;int main(){ int ans=0; for(int i=1;i<=19000;i++){原创 2021-03-22 19:46:02 · 92 阅读 · 0 评论 -
14省7-六角填数,全排列-无去重,13省1-高斯日记-模拟,13省2-马虎的算式(next_permutation9选5),13省3-第39级台阶,递推
14省7-六角填数link.【全排列】简单,#include <bits/stdc++.h>using namespace std;int a[9]={2,4,5,6,7,9,10,11,12};int main(){ do{ int x=a[0]+a[1]+a[2]+8; if(x==a[0]+a[3]+a[5]+1&&x==a[3]+a[6]+11&&x==a[2]+a[4]+a[7]+3&&x==原创 2021-03-21 21:49:09 · 88 阅读 · 0 评论 -
测训815省Ca1-方程整数解20省3-1- 数青蛙,20省3-2- 互质,15校4-7对数字,15省Ca7-手链样式,全排列去重,15国2-完美正方形dfs剪枝
15省Ca1-方程整数解题目link.方程: a^2 + b^2 + c^2 = 1000 a^2 + b^2 + c^2 = 1000a2+b2+c2=1000 这个方程有正整数解吗?有:a,b,c=6,8,30 就是一组解。 你能算出另一组合适的解吗? 注意是另一组解#include <bits/stdc++.h>using namespace std;int main(){ int i,j,k; for(i=0;i<34;i++原创 2021-03-15 21:54:30 · 79 阅读 · 0 评论 -
测训915校2-调和级数,15校3-x的x次幂,15省Ca3-奇妙的数字
17国a1 prev-permutation(与next-permutation)对应16省7-剪邮票link15校2-调和级数link【思路】怎样除才能做到1/3是三分之一,而不是取整数呢,可以给sum为float型 1.0/3;【关键点】精度问题#include <iostream>using namespace std;int main(){ double sum=0;//便于强转 int a=1; while(1){原创 2021-03-20 21:50:30 · 71 阅读 · 0 评论 -
测训7 16省Ca1-网友年龄16省Cc3-平方怪圈,16省Ja3-搭积木,16省Ca6-寒假作业,算法训练 - 摆动序列
我们知道当序列个数至少为2时那么k的值必须大于等于2,那么序列的个数一定是小于等k的。所以我们可以建立一个dp[i][j] i表示序列中的数字个数,j表示k的取值.那我们可以知道当j=2时 对应k的满足上面要求的序列的个数。dp[i][2]=i*(i-1) (i表示对应的k的值)当我们初始化后就是求对应dp的满足上面要求的序列的个数。我们dp[i][j]可以把k的上一个数的对应种数算到里面去,这种是当没有加当前k的这个值的序列个数,那我们要加当前k的数那么就应该找k-1的数在j-1里面的序列个数就是加当前原创 2021-03-06 12:51:12 · 77 阅读 · 0 评论 -
第六次测训:17省4方格分割,17国1-36进制,17省3-承压计算,17省Ja2-九数算式,17省Ca1-迷宫
17省4-方格分割题目链接.【关键词】dfs 二维数组【思路】以中心点(3 ,3)为原点,划分得到4个形状相等的象限,这使得很容易通过计算一个象限的情况而得到所有情况以中心点为起点使用dfs,每次同时遍历一个点以及与中心点的对称的点,最后将结果/4(总共有4个一样的象限嘛#include<bits/stdc++.h>using namespace std;int outcome=0;int vis[7][7]={0};void dfs(int x,int y){原创 2021-03-05 09:19:36 · 166 阅读 · 1 评论 -
算法训练 Liars and Serge ,
算法训练 Liars and Serge题目链接.题目明白了,假设诚实的人是m个,那么这m个人回答是m,也就是说回答的数额等于回答这个数额的人数,则这些人是诚实人,不会代码,代码没看明白。https://blog.csdn.net/crazy_ac/article/details/8465510...原创 2021-02-26 16:09:32 · 116 阅读 · 0 评论 -
算法训练 未名湖边的烦恼(找零 排队 ,递归) 非递归(递归,数学hermite多项式物理概念)s01串(递归)
算法训练 未名湖边的烦恼题目链接.问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式 两个整数,表示m和n输出格式 一个整数,表示队伍的排法的方案数。样例输入3 2样例输出5数据规模原创 2021-02-24 11:21:21 · 300 阅读 · 0 评论 -
试题 算法训练 RP大冒险
问题描述 请尽情使用各种各样的函数来测试你的RP吧~~~输入格式 一个数N表示测点编号。输出格式 一个0~9的数。样例输入0样例输出X{当且仅当输出仅有一个数X且X为0~9的数时你的得分不为零,此时你的得分为系统根据你的输出而计算出的你本次的RP。}数据规模和约定 测点编号为1~10,且stdans随机。 究竟使用怎样的函数才能获得较高的RP呢?指数函数?幂函数?斐波那契数?圆周曲线的导数函数?好想尝试一下哦~#include<iostream>using原创 2021-02-24 09:39:39 · 851 阅读 · 0 评论 -
算法训练 Three Swaps(剪枝,dfs)校门外的树(结构体,遍历)最大最小公倍数(简单贪心)单词接龙
算法训练 Three Swaps问题描述 饲养员Xenia有n(n>1)只站成一排的马。每只马都有它自己的独一无二的号码。最开始的时候,从左数第i只马编号为i,也就是说,马的号码序列是下面这样(从左到右):1,2,3,……,n Xenia在演出之前训练这些马。在练习期间,她会给马命令。每个命令是一对数l,r(1<=l<r<=n)。命令l,r意思是从左数第l个位置到第r个位置上的马要被重新排列。站在l,r位置上的马交换位置;l+1,r-1位置上的马交换位置;以此类推。也就是说原创 2021-02-23 19:13:00 · 516 阅读 · 0 评论 -
历届试题 核桃的数量(3个数的最小公倍数),翻硬币(贪心),买不到的数目(在范围内暴力,找范围,最小公倍数是上界,最小的数是下界),兰顿蚂蚁(dfs,模拟)
历届试题 核桃的数量问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:各组的核桃数量必须相同各组内必须能平分核桃(当然是不能打碎的)尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)输出格式输出一个正整数,表示每袋核桃的数量。样例输入12 4 5样例输出120样例输入23 1原创 2021-02-22 21:45:18 · 400 阅读 · 0 评论 -
2016四平方和(枚举优化),斐波拉契数列的迭代算法,20省1-Jb4- 分配口罩(dfs、dp)
16省8-四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b <= c <= d并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表原创 2021-02-21 12:56:16 · 166 阅读 · 0 评论 -
蓝桥杯视频学习解题思路
2013年c++c组题3振兴中华思路一:递归找重复,找变化,找出口变化的东西是参数重复的规模变小是递归的调用/* 2013c++c3从我做起振我做起振兴做起振兴中起振兴中华从“从”开始,每个格子只能向右或向下走,走出“从我做起振兴中华”有多少走法*//*思考枚举所有的走法:枚举有两种方法:1.迭代2.递归 这里用递归(找变化,找重复,找出口*/#include <iostream>using namespace std;int f(int x,int原创 2021-02-18 22:23:57 · 104 阅读 · 0 评论 -
1小朋友排队2摆动序列
error: reference to ‘left’ is ambiguous|是和库的变量名重复了,解决方法:修改变量名试题 算法训练 摆动序列http://lx.lanqiao.cn/problem.page?gpid=T44问题描述 如果一个序列满足下面的性质,我们就将它称为摆动序列: 1. 序列中的所有数都是不大于k的正整数; 2. 序列中至少有两个数。 3. 序列中的数两两不相等; 4. 如果第i – 1个数比第i – 2个数大,则第i个数比第i – 2个数小;如果第i原创 2021-02-10 22:18:45 · 63 阅读 · 0 评论 -
调试小记1既约分数2 蛇形填数3跑步锻炼4七段码5蚂蚁感冒6地宫取宝7带分数
20省2-2- 既约分数https://vijos.org/d/gadflycq/contest/601bf6daf413621b7b360286/1041【问题描述】如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。例如, \frac{3}{4}43 , \frac{5}{2}25 , \frac{1}{8}81 , \frac{7}{1}17 (即 3/4,5/2,1/8,7/1)都是既约分数。请问,有多少个既约分数,分子和分母都是 1原创 2021-02-06 19:22:40 · 190 阅读 · 0 评论