![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
dudu-03
这个作者很懒,什么都没留下…
展开
-
7-22 LC老玩游戏 (30 分)
LC老爱玩游戏了,他的队友为了惩罚他就把他关到了小黑屋学习dfs。如果他学会了就可以从小黑屋里出来通过迷宫。迷宫是由n∗n个房间组成的矩形,每个房间只和他相邻的房间有一条通道,既如果LC在(X,Y)房间,那么他一步只能达到(X+1,Y)(X−1,Y)(X,Y+1)(X,Y−1)房间。有一些房间的房门被焊死了,无法进入。也不能走出迷宫的边界,例如在(1,1)房间就不能进入(1,0)(0,1)这些位置。LC一开始被关在小黑屋的位置为迷宫的左上角记为(1,1),迷宫的出...原创 2022-04-07 09:29:28 · 522 阅读 · 0 评论 -
3358.放养但没有完全放养
题目链接一开始没有看清楚题意是26个不同字母,以为就是普通的字符串,写了一个不符合题意且麻烦的代码,但是过了#include<bits/stdc++.h>using namespace std;int find(char b,int sta,int len,string a){ for(int i = sta; i < len; i++){ if(b == a[i]) return i; } return -1;}int.原创 2022-04-03 16:01:30 · 435 阅读 · 0 评论 -
AcWing 895. 最长上升子序列
题目链接:AcWing 895:最长上升子序列算法:动态规划f[i]表示以a[i]结尾的最长上升序列,初始为自身 = 1。每次枚举i位置之前的所有位置.状态转移方程:f[i] = max(f[i],f[j]+1);c++代码 :#include<bits/stdc++.h>int f[3000],a[3000];int main(){ int n; std::cin >> n; for(int i = 1; i <=.原创 2022-04-02 21:54:20 · 329 阅读 · 0 评论 -
AcWing 1725. 组队井字游戏
写的巨烂#include<iostream>using namespace std;const int N = 4;char n[N][N];int niu[100];int nn[1000000];int main(){ ios::sync_with_stdio(false); cin.tie(0); for(int i = 1; i <= 3; i++) for(int j = 1; j <= 3; j++) cin &g.原创 2022-04-02 11:45:21 · 2779 阅读 · 0 评论 -
1761. 阻挡广告牌
原题链接 AcWing 1761.阻挡广告牌/*左下右上*/#include<iostream>using namespace std;const int N = 3000;const int M = 1001;int area[N][N];int main(){ int ax1,ay1,ax2,ay2; int bx1,by1,bx2,by2; int cx1,cy1,cx2,cy2; cin >> ax1 >>原创 2022-04-01 11:09:10 · 152 阅读 · 0 评论 -
AcWing 842.排列数字(dfs)||(next_permutation)
原题链接#include<iostream>using namespace std;const int N = 10;int n;int f[N];int vis[N];void dfs(int k){ if(k == n + 1) { for(int i = 1; i <= n; i++) printf("%d ",f[i]); puts(""); } else{ for(int i = 1.原创 2022-03-28 23:01:54 · 184 阅读 · 0 评论 -
题目 2194: 蓝桥杯2018年第九届真题-递增三元组
题目描述给定三个整数数组A = [A1, A2, … AN],B = [B1, B2, … BN],C = [C1, C2, … CN],请你统计有多少个三元组(i, j, k) 满足:1. 1 <= i, j, k <= N2. Ai < Bj < Ck输入第一行包含一个整数N。 第二行包含N个整数A1, A2, ... AN。 第三行包含N个整数B1, B2, ... BN。 第四行包含N个整数C1, C2, ... CN。输出一个整数表示答案原创 2022-03-23 17:30:04 · 217 阅读 · 0 评论 -
4377. 农田灌溉
蒟蒻稀烂模拟,佬佬勿喷#include<iostream>#include<algorithm>using namespace std;int v[1000010];int main(){ int T,n,k,x; int res = 0; cin >> T; while(T -- ){ cin >> n >> k; int z = 0; for原创 2022-03-20 20:51:21 · 569 阅读 · 1 评论 -
题目 1529: 蓝桥杯算法提高VIP-摆花
题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。试编程计算,一共有多少种不同的摆花方案。样例说明有2种摆花的方案,分别是(1,1,1,2), (1,1,2,2)。括号里的1和2表示两种花,比如第一个方案是前三个位置摆第一种花,第四个位置摆第二种花。输入第一行包含两..原创 2022-02-23 20:32:23 · 97 阅读 · 0 评论 -
题目 1531: 蓝桥杯算法提高VIP-数的划分
题目描述一个正整数可以划分为多个正整数的和,比如n=3时:3;1+2;1+1+1;共有三种划分方法。给出一个正整数,问有多少种划分方法。输入一个正整数n数据规模和约定n< =100输出一个正整数,表示划分方案数样例输入复制3样例输出复制3#include<iostream>using namespace std;int dp[110];int main(){ int n; cin >...原创 2022-02-23 20:00:38 · 147 阅读 · 1 评论 -
题目 1282: 公交汽车
题目描述一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1< =n< =100),它可以通过无限次的换车来完成旅程。最后要求费用最少。输入 第一行十个整数分别表示行走1到10公里的费用(< =500)。注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少。 第二行一个整数n表示,旅客的总路程数。输出仅一个整数表示最少费用。...原创 2022-02-22 22:38:29 · 119 阅读 · 0 评论 -
题目 1796: 蛇形填数
题目描述在 n * n 方阵里填入 1, 2, …, n * n, 要求填成蛇形。例如 n = 4 时方阵为:10 11 12 19 16 13 28 15 14 37 6 5 4输入多组测试数据。每组测试数据第一行输入方阵的维数,即 n 的值。(n <= 100)输出每组测试数据输出结果是蛇形方阵,方阵中每行每两个元素间空格,末尾不要有多余空格,每个方阵后空一行。样例输入复制3样例输出复制7 8 1 6 9 2 5 4 3#i...原创 2022-02-22 21:24:44 · 354 阅读 · 0 评论 -
蚂蚁感冒
#include<iostream>using namespace std;int n,x,v;int main(){ cin >> n; cin >> v; int l = 0, r = 0, ans = 0; for(int i = 1; i < n; i ++) { cin >> x; if(abs(x) > abs(v) && x <.原创 2022-02-12 23:18:09 · 311 阅读 · 0 评论 -
727. 菱形
输入一个奇数n,输出一个由*构成的n阶实心菱形。输入格式一个奇数n。输出格式输出一个由*构成的n阶实心菱形。具体格式参照输出样例。数据范围1≤n≤99输入样例:5输出样例: * *** ***** *** * 模拟输出即可#include<iostream>using namespace std;int n;int main(){ cin >> n; i...原创 2022-02-04 16:19:17 · 621 阅读 · 0 评论 -
809. 最小公倍数
输入两个整数a和b,请你编写一个函数,int lcm(int a, int b),计算并输出a和b的最小公倍数。输入格式共一行,包含两个整数ab。输出格式共一行,包含一个整数,表示a和b的最小公倍数。数据范围1≤a,b≤1000输入样例:6 8输出样例:24#include<iostream>using namespace std;int a, b;int lcm(int a, int b){ int...原创 2022-02-03 14:09:59 · 88 阅读 · 0 评论 -
807. 区间求和
输入两个整数 l 和 r,请你编写一个函数,int sum(int l, int r),计算并输出区间 [l,r][l,r] 内所有整数的和。输入格式共一行,包含两个整数 l 和 r。输出格式共一行,包含一个整数,表示所求的和。数据范围1≤l≤r≤1000输入样例:3 5输出样例:12题目链接 807. 区间求和代码:#include<iostream>using namespace std;int sum(int l , in..原创 2022-02-03 14:02:25 · 399 阅读 · 0 评论 -
814. 复制数组
给定两个数组 a 和 b 以及一个整数 size,请你编写一个函数,void copy(int a[], int b[], int size),将 a 数组中的前 size 个数字,复制到 b 数组中。复制完成后,输出 b 数组。输入格式第一行包含整数 n,m,size,分别表示 a 数组的长度,b 数组的长度以及整数 size。第二行包含 n 个整数,表示数组 a。第三行包含 m 个整数,表示数组 b。输出格式共一行,包含 m 个整数,表示复制完成后的数组 b。数据范围原创 2022-02-03 13:59:57 · 572 阅读 · 0 评论 -
815. 打印字符串
给定一个字符串,请你编写一个函数,void print(char str[]),将这个字符串打印出来。输入格式共一行,包含一个字符串。输出格式共一行,表示打印出的字符串。数据范围1≤字符串长度≤100输入样例:I love AcWing.输出样例:I love AcWing.1.cin.getline(字符串,读取长度)当然也可以用getline直接读入string类字符串2.scanf("%[^\n]",字符串):只有遇到\n才停止读入3.fg原创 2022-02-03 13:41:47 · 1932 阅读 · 0 评论 -
816. 数组翻转
给定一个长度为 n 的数组 a 和一个整数 size,请你编写一个函数,void reverse(int a[], int size),实现将数组aa中的前size个数翻转。输出翻转后的数组 a。输入格式第一行包含两个整数 n 和 size。第二行包含 n 个整数,表示数组 a。输出格式共一行,包含 n 个整数,表示翻转后的数组 a。数据范围1≤size≤n≤1000,1≤a[i]≤1000输入样例:5 31 2 3 4 5输出样例:3 2 ...原创 2022-02-03 13:19:54 · 563 阅读 · 0 评论 -
1050 螺旋矩阵 (25 分)
本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m×n等于N;m≥n;且m−n取所有可能值中的最小值。输入格式:输入在第 1 行中给出一个正整数N,第 2 行给出N个待填充的正整数。所有数字不超过104,相邻数字以空格分隔。输出格式:输出螺旋矩阵。每行n个数字,共m行。相邻数字以 1 个空格分隔,行末不得有多余空格。输入样例:1...原创 2022-02-01 22:17:52 · 290 阅读 · 0 评论 -
1097 矩阵行平移 (20 分)
给定一个n×n的整数矩阵。对任一给定的正整数k<n,我们将矩阵的奇数行的元素整体向右依次平移 1、……、k、1、……、k、…… 个位置,平移空出的位置用整数x补。你需要计算出结果矩阵的每一列元素的和。输入格式:输入第一行给出 3 个正整数:n(<100)、k(<n)、x(<100),分别如题面所述。接下来n行,每行给出n个不超过 100 的正整数,为矩阵元素的值。数字间以空格分隔。输出格式:在一行中输出平移后第 1 到n列元素的和。数字间以 ...原创 2022-02-01 20:58:15 · 265 阅读 · 0 评论 -
1096 大美数 (15 分)
若正整数N可以整除它的 4 个不同正因数之和,则称这样的正整数为“大美数”。本题就要求你判断任一给定的正整数是否是“大美数”。输入格式:输入在第一行中给出正整数K(≤10),随后一行给出K个待检测的、不超过104的正整数。输出格式:对每个需要检测的数字,如果它是大美数就在一行中输出Yes,否则输出No。输入样例:318 29 40输出样例:YesNoYes四重循环暴力代码:思想是通过四个循环遍历每一组不同的四个因子。#includ...原创 2022-02-01 17:04:14 · 566 阅读 · 0 评论 -
823. 排列
给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1题目链接:AcWing 823.排序代码:递归搜索树dfs#include<iostream>const in..原创 2022-02-01 12:26:36 · 380 阅读 · 0 评论 -
822. 走方格
给定一个 n×m的方格阵,沿着方格的边线走,从左上角 (0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m) 一共有多少种不同的走法。输入格式共一行,包含两个整数 n 和 m。输出格式共一行,包含一个整数,表示走法数量。数据范围1≤n,m≤10输入样例:2 3输出样例:10动态规划:代码1:#include<iostream>using namespace std;const int N = 11;in原创 2022-02-01 10:27:06 · 133 阅读 · 0 评论 -
821. 跳台阶
一个楼梯共有 n 级台阶,每次可以走一级或者两级,问从第 0 级台阶走到第 n 级台阶一共有多少种方案。输入格式共一行,包含一个整数 n。输出格式共一行,包含一个整数,表示方案数。数据范围1≤n≤15输入样例:5输出样例:8ac代码,用一个大小为15的数组储存结果#include<iostream>using namespace std;const int N = 16;int q[N];int vac;int main()原创 2022-02-01 09:57:23 · 53 阅读 · 0 评论 -
817. 数组去重
给定一个长度为n的数组a,请你编写一个函数:int get_unique_count(int a[], int n); // 返回数组前n个数中的不同数的个数输入格式第一行包含一个整数n。第二行包含n个整数,表示数组a。输出格式共一行,包含一个整数表示数组中不同数的个数。数据范围1≤n≤1000,1≤ai≤1000。输入样例:51 1 2 4 5输出样例:4代码1(按照题目要求):#include<iostrea...原创 2022-02-01 00:40:13 · 446 阅读 · 0 评论 -
755. 平方矩阵 III
输入整数 N,输出一个 N 阶的二维数组 M。这个N阶二维数组满足M[i][j]=2^i+j。具体形式可参考样例。输入格式输入包含多行,每行包含一个整数 N。当输入行为 N=0 时,表示输入结束,且该行无需作任何处理。输出格式对于每个输入整数 N,输出一个满足要求的 N 阶二维数组。每个数组占 N 行,每行包含 N 个用空格隔开的整数。每个数组输出完毕后,输出一个空行。数据范围0≤N≤15输入样例:123450输出样例:1...原创 2022-01-31 20:09:11 · 213 阅读 · 0 评论 -
754. 平方矩阵 II
输入整数NN,输出一个N阶的二维数组。数组的形式参照样例。输入格式输入包含多行,每行包含一个整数 N。当输入行为 N=0 时,表示输入结束,且该行无需作任何处理。输出格式对于每个输入整数 N,输出一个满足要求的 N 阶二维数组。每个数组占 N 行,每行包含 N 个用空格隔开的整数。每个数组输出完毕后,输出一个空行。数据范围0≤N≤100输入样例:123450输出样例:11 22 11 2 32 1 23 2 11...原创 2022-01-31 20:00:59 · 144 阅读 · 0 评论 -
770. 单词替换
输入一个字符串,以回车结束(字符串长度不超过 100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输入格式输入共 3 行。第 1 行是包含多个单词的字符串 s;第 2 行是待替换的单词 a(长度不超过 100);第 3 行是 a 将被替换的单词 b(长度不超过 100)。输出格式共一行,输出将 s 中所有单词 a 替换成 b 之后的字符串。输入样例:You want so原创 2022-01-31 19:00:29 · 65 阅读 · 0 评论 -
764. 输出字符串
给定一个字符串a,请你按照下面的要求输出字符串b。给定字符串a的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到b的第一个字符;给定字符串a的第二个字符的 ASCII 值加第三个字符的 ASCII 值,得到b的第二个字符;…给定字符串a的倒数第二个字符的 ASCII 值加最后一个字符的 ASCII 值,得到b的倒数第二个字符;给定字符串a的最后一个字符的 ASCII 值加第一个字符的 ASCII 值,得到b的最后一个字符。输入格式...原创 2022-01-31 18:55:37 · 374 阅读 · 0 评论 -
767. 信息加密
在传输信息的过程中,为了保证信息的安全,我们需要对原信息进行加密处理,形成加密信息,从而使得信息内容不会被监听者窃取。现在给定一个字符串,对其进行加密处理。加密的规则如下:字符串中的小写字母,a加密为b,b加密为c,…,y加密为z,z加密为a。 字符串中的大写字母,A加密为B,B加密为C,…,Y加密为Z,Z加密为A。 字符串中的其他字符,不作处理。请你输出加密后的字符串。输入格式共一行,包含一个字符串。注意字符串中可能包含空格。输出格式输出加...原创 2022-01-31 18:19:34 · 220 阅读 · 0 评论 -
AcWing 768. 忽略大小写比较字符串大小
一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到\0为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如Hello和hello在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。输入格式输入为两行,每行一个字符串,共两个字符串。注意...原创 2022-01-31 17:53:52 · 67 阅读 · 0 评论 -
773. 字符串插入
有两个不包含空白字符的字符串str和substr,str的字符个数不超过10,substr的字符个数为3。(字符个数不包括字符串结尾处的\0。)将substr插入到str中 ASCII 码最大的那个字符后面,若有多个最大则只考虑第一个。输入格式输入包括若干行,每一行为一组测试数据,格式为str substr输出格式对于每一组测试数据,输出插入之后的字符串。输入样例:abcab eee12343 555输出样例:abceeeab1234...原创 2022-01-31 13:25:02 · 172 阅读 · 0 评论 -
775. 倒排单词
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。输入格式输入为一个字符串(字符串长度至多为 100)。输出格式输出为按要求排序后的字符串。输入样例:I am a student输出样例:student a am I题目链接:····AcWing 775 倒排单词ac代码:#include <iostream>using namespace std;int main(){.原创 2022-01-30 22:21:43 · 445 阅读 · 0 评论 -
3491. 完全平方数
1. 问题描述:一个整数 a 是一个完全平方数,是指它是某一个整数的平方,即存在一个整数 b,使得 a = b ^ 2。给定一个正整数 n,请找到最小的正整数 x,使得它们的乘积是一个完全平方数。输入格式输入一行包含一个正整数 n。输出格式输出找到的最小的正整数 x。数据范围对于 30% 的评测用例,1≤n≤1000,答案不超过 1000。对于 60% 的评测用例,1≤n≤10^8,答案不超过 10^8。对于所有评测用例,1≤n≤10^12,答案不超过 10^12。输入样原创 2022-01-23 17:50:38 · 507 阅读 · 0 评论 -
3490. 小平方
小蓝发现,对于一个正整数 n 和一个小于 n 的正整数 v,将 v 平方后对 n 取余可能小于 n 的一半,也可能大于等于 n 的一半。请问,在 1 到 n−1 中,有多少个数平方后除以 n 的余数小于 n 的一半。例如,当 n=4时,1,2,3 的平方除以 4 的余数都小于 4 的一半。又如,当 n=5时,1,4 的平方除以 55 的余数都是 1,小于 5 的一半。而 2,3 的平方除以 5 的余数都是 4,大于等于 5 的一半。输入格式输入一行包含一个整数 n。输出格式输原创 2022-01-23 17:21:50 · 383 阅读 · 0 评论 -
AcWing 3496. 特殊年份
今年是 2021 年,2021 这个数字非常特殊,它的千位和十位相等,个位比百位大 1,我们称满足这样条件的年份为特殊年份。输入 5 个年份,请计算这里面有多少个特殊年份。输入格式输入 5 行,每行一个 4 位十进制数(数值范围为 1000 至 9999),表示一个年份。输出格式输出一个整数,表示输入的 5 个年份中有多少个特殊年份。输入样例:20192021192021209899输出样例:2样例解释2021和 9899是特殊年份,其它不是特..原创 2022-01-23 16:56:13 · 403 阅读 · 0 评论 -
AcWing 2067. 走方格
在平面上有一些二维的点阵。这些点的编号就像二维数组的编号一样,从上到下依次为第11至第nn行,从左到右依次为第11至第mm列,每一个点可以用行号和列号来表示。现在有个人站在第11行第11列,要走到第nn行第mm列。只能向右或者向下走。注意,如果行号和列数都是偶数,不能走入这一格中。问有多少种方案。输入格式输入一行包含两个整数n,mn,m。输出格式输出一个整数,表示答案。数据范围1≤n,m≤301≤n,m≤30输入样例1:...转载 2022-01-20 22:07:12 · 56 阅读 · 0 评论 -
2065. 整除序列
有一个序列,序列的第一个数是nn,后面的每个数是前一个数整除22,请输出这个序列中值为正数的项。输入格式输入一行包含一个整数nn。输出格式输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。数据范围1≤n≤10181≤n≤1018输入样例:20输出样例:20 10 5 2 1#include<stdio.h>typedef long long LL;int main(){ LL n; scanf("%l...原创 2022-01-20 21:37:02 · 520 阅读 · 0 评论 -
2066. 解码
小明有一串很长的英文字母,可能包含大写和小写。在这串字母中,有很多连续的是重复的。小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母 + 出现次数的形式。例如,连续的55个aa,即aaaaaaaaaa,小明可以简写成a5a5(也可能简写成a4aa4a、aa3aaa3a等)。对于这个例子:HHHelllllooHHHellllloo,小明可以简写成H3el5o2H3el5o2。为了方便表达,小明不会将连续的超过99个相同的字符写成简写的形式。现在给出...原创 2022-01-20 21:35:37 · 425 阅读 · 0 评论