当前位置: 代码迷 >> 综合 >> 【蓝桥杯】【模拟赛】分享下前七道题的答案和代码
  详细解决方案

【蓝桥杯】【模拟赛】分享下前七道题的答案和代码

热度:89   发布时间:2023-09-13 02:55:49.0

这次分享下上次模拟赛的代码思路

第一题

问题描述

将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。
  请问,总共能排列如多少个不同的单词。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

5040

第二题

问题描述

在计算机存储中,12.5MB是多少字节?

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

13107200

第三题

问题描述

一个包含有2019个结点的无向连通图,最少包含多少条边?

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

2018

第四题

问题描述

由1对括号,可以组成一种合法括号序列:()。
  由2对括号,可以组成两种合法括号序列:()()、(())。
  由4对括号组成的合法括号序列一共有多少种?

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

8

第五题

问题描述

给定一个单词,请使用凯撒密码将这个单词加密。
  凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即a变为d,b变为e,...,w变为z,x变为a,y变为b,z变为c。
  例如,lanqiao会变成odqtldr。

输入格式

输入一行,包含一个单词,单词中只包含小写英文字母。

输出格式

输出一行,表示加密后的密文。

样例输入

lanqiao

样例输出

odqtldr

评测用例规模与约定

对于所有评测用例,单词中的字母个数不超过100。

#include <cstring>
#include <iostream>
using namespace std;
char dir[26]={'d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c'};
int main(){string s;cin>>s;for(int i=0;i<s.length();i++){cout<<dir[s[i]-'a'];}return 0;
}

第六题

问题描述

给定三个整数 a, b, c,如果一个整数既不是 a 的整数倍也不是 b 的整数倍还不是 c 的整数倍,则这个数称为反倍数。
  请问在 1 至 n 中有多少个反倍数。

输入格式

输入的第一行包含一个整数 n。
  第二行包含三个整数 a, b, c,相邻两个数之间用一个空格分隔。

输出格式

输出一行包含一个整数,表示答案。

样例输入

30
2 3 6

样例输出

10

样例说明

以下这些数满足要求:1, 5, 7, 11, 13, 17, 19, 23, 25, 29。

评测用例规模与约定

对于 40% 的评测用例,1 <= n <= 10000。
  对于 80% 的评测用例,1 <= n <= 100000。
  对于所有评测用例,1 <= n <= 1000000,1 <= a <= n,1 <= b <= n,1 <= c <= n。

#include <iostream>
using namespace std;
int main(){long long n,a,b,c;cin>>n>>a>>b>>c;long long i=1,out=0;for(i=1;i<=n;i++){if(i%a!=0&&i%b!=0&&i%c!=0){out++;}}cout<<out;return 0;
}

第七题

问题描述

对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。
  例如,一个 4 行 5 列的螺旋矩阵如下:
  1 2 3 4 5
  14 15 16 17 6
  13 20 19 18 7
  12 11 10 9 8

输入格式

输入的第一行包含两个整数 n, m,分别表示螺旋矩阵的行数和列数。
  第二行包含两个整数 r, c,表示要求的行号和列号。

输出格式

输出一个整数,表示螺旋矩阵中第 r 行第 c 列的元素的值。

样例输入

4 5
2 2

样例输出

15

评测用例规模与约定

对于 30% 的评测用例,2 <= n, m <= 20。
  对于 70% 的评测用例,2 <= n, m <= 100。
  对于所有评测用例,2 <= n, m <= 1000,1 <= r <= n,1 <= c <= m。

#include <iostream>
using namespace std;
int arr[1005][1005];
int main(){int n,m;cin>>n>>m;int r,c;cin>>r>>c;int stan=1,stam=1;int endn=n,endm=m;int p=1;for(;p<=n*m;){for(int j=stam;j<=endm;j++){arr[stan][j]=p++;}stan++;for(int j=stan;j<=endn;j++){arr[j][endm]=p++;}endm--;for(int j=endm;j>=stam;j--){arr[endn][j]=p++;}endn--;for(int j=endn;j>=stan;j--){arr[j][stam]=p++;}stam++;}cout<<arr[r][c]; return 0;
}
  相关解决方案