蓝桥杯 题库 简单 每日十题 day8

在这里插入图片描述

01 扫雷

题目描述
在一个n行列的方格图上有一些位置有地雷,另外一些位置为空。
请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。
输入描述
输入的第一行包含两个整数n,m。
第2行到第n+1行每行包含m个整数,相邻整数之间用一个空格分隔。如果对应的整数为0,表示这一格没有地雷。如果对应的整数为1,表示这一格有地雷。
其中,1≤n,m≤100分钟后还是在当天。
输出描述
输出n行,每行m个整数,相邻整数之间用空格分隔。
对于没有地雷的方格,输出这格周围的地雷数量。对于有地雷的方格,输出9。
输入输出样例
示例1
输入

3 4
0 1 0 0
1 0 1 0
0 0 1 0

输出

2 9 2 1
9 4 9 2
1 3 9 2
#include <iostream>
using namespace std;
int main()
{int n,m;cin>>n>>m;int a[n][m];int c[n][m];for(int i=0;i<n;i++){for(int j=0;j<m;j++){c[i][j]=0;cin>>a[i][j];}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(a[i][j]==1){c[i][j]=9;for(int b=i-1;b<=i+1;b++){for(int d=j-1;d<=j+1;d++){if(a[b][d]==0&&b>=0&&d>=0){c[b][d]++;}}}}}
}    for(int i=0;i<n;i++){for(int j=0;j<m;j++){cout<<c[i][j]<<" ";}cout<<"\n";}return 0;
}

02 单词分析

题目描述
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。
输入描述
输入一行包含一个单词,单词只由小写英文字母组成。
对于所有的评测用例,输入的单词长度不超过1000。
输出描述
输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个。
第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。
输入输出样例
示例1
输入

Lanqiao

输出

a
2

示例2
输入

longlonglongistoolong

输出

o
6
解题思路
简单模拟题。
开一个数组存储每个字母出现的次数,然后根据题意简单判断一下即可。
或者先求出最大出现次数,再求出出现频率=最大出现次数的最小字符。
#include<bits/stdc++.h>
using namespace std;
int ch , ma , cnt[30];
signed main()
{string s;cin >> s;for(auto i : s) cnt[i - 'a'] ++ ;for(int j = 0 ; j < 26 ; j ++) if(ma < cnt[j]) ma = cnt[j] , ch = j;cout << (char)(ch + 'a') << '\n';cout << ma << '\n';return 0;
}

法二

#include <stdio.h>
#include <string.h>
//先遍历所有字母,记录字母的格式,然后进行最大值判断。
int main()
{char a[1000];int b[26]={0};int lenth;scanf("%s",a);lenth=strlen(a);int i=0;int max = 0;int j=0;int max_index =0; for (i=0;i<lenth;i++){switch(a[i]){case 'a': b[0] += 1;   break;case 'b': b[1] += 1;   break;case 'c': b[2] += 1;   break;case 'd': b[3] += 1;   break;case 'e': b[4] += 1;   break;case 'f': b[5] += 1;   break;case 'g': b[6] += 1;   break;case 'h': b[7] += 1;   break;case 'i': b[8] += 1;   break;case 'j': b[9] += 1;   break;case 'k': b[10] += 1;   break;case 'l': b[11] += 1;   break;case 'm': b[12] += 1;   break;case 'n': b[13] += 1;   break;case 'o': b[14] += 1;   break;case 'p': b[15] += 1;   break;case 'q': b[16] += 1;   break;case 'r': b[17] += 1;   break;case 's': b[18] += 1;   break;case 't': b[19] += 1;   break;case 'u': b[20] += 1;   break;case 'v': b[21] += 1;   break;case 'w': b[22] += 1;   break;case 'x': b[23] += 1;   break;case 'y': b[24] += 1;   break;case 'z': b[25] += 1;   break;}}for (j=0;j<26;j++){if(b[j] > max){max = b[j];max_index = j;}else if (b[j] == max ){if(j<max_index){max_index = j;max = b[j];} else {max = max;max_index = max_index;}}} //for(i=0;i<26;i++){//  printf("%d\n",b[i]);//}//printf("%s\n%d%d",a,max,max_index);printf("%c\n%d\n",'a'+max_index,max);return 0;
}

03 超级质数

问题描述
如果一个质数P的每位数字都是质数,而且每两个相邻的数字组成的两位数是质数,而且每三位相邻的数字组成的三位数是质数,依次类推,如果每相邻的K:位数字组成的k:位数都是质数,则P称为超级质数。如果把超级质数P看成一个字符串,则这个超级质数的每个子串都是质数。
例如,53是一个超级质数。
请问,最大的超级质数是多少?
解析
这题其实是质数排列组合问题,由一位数扩展到更多位一位数是质数的:2,3,5,7扩展到两位数,两两组合剩下23,37,53,73然后再扩展到三位数,就已经得出结论了,373

#include <iostream>
using namespace std;
int main()
{1.10以内的质数有2357
2.根据超级质数的组成规则可以组成2337535773这样的相邻质数组合,
满足要求的有23375373 
3.根据这些组合可以组成237373573737这样的数字组合,满足要求的只有373
4.根据组成规则已经不能在373的基础之上进行组合,即为最大超级质数 int PANDUAN(int n) {int i;for(i=2;i<n/2;i++) {if(n%i==0) break;}if(i==n/2) return 1;else return 0;
} 
int main() {int n;while(1) {scanf("%d",&n);if(n==0) break;int temp=PANDUAN(n);printf("temp = %d \n",temp);}return 0;
}cout<<373;return 0;
}

04 合法日期

合法日期
题目描述
小蓝正在上小学,老师要求同学们在暑假每天记日记。可是小蓝整个暑假都在玩,直到最后一天才想起要记日记。于是小蓝赶紧编了一些日记交给老师。没想到,日记很快就被老师发现了问题,原来小蓝记完8月31日的日记,竟又记了8月32日和8月33日的日记。这显然是有问题的,因为根本没有8月32日和8月33日。
给定一个月份和一个日期,请问2021年有没有这一天。
输入描述
输入的第一行包含一个整数m,表示月份。
第二行包含一个整数d,表示日期。
其中,1≤m≤20,1≤d≤40。
输出描述
如果2021年有m月d日,输入yes,否则输出no。

#include <iostream>
using namespace std;
int main()
{int month[31]={0,31,28,31,30,31,30,31,31,30,31,30,31};int m,d;cin>>m>>d;if(month[m]<d)cout<<"no";else cout<<"yes";return 0;
}

05 纯质数

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。如果一个正整数只有1和它本身两个约数,则称为一个质数(又称素数)。前几个质数是:2,3,5,7,11,13,17,19,23,29,31,37,…。如果一个质数的所有十进制数位都是质数,我们称它为纯质数。例如:2,3,5,7,23,37都是纯质数,而11,13,17,19,29,31不是纯质数。当然1,4,35也不是纯质数。请问,在1到20210605中,有多少个纯质数?

#include <stdio.h>
#include <math.h>
int prime(int n)
{int i;for(i=2;i<=sqrt(n);i++){if(n%i==0)return 0;}return 1;
}
int chunprime(int n)
{int m=n;while(m){if(m%10==2||m%10==3||m%10==5||m%10==7){m=m/10;}else return 0;}return 1;
}
int main(int argc, char *argv[])
{int i,ans=0;for(i=2;i<=20210605;i++){if(chunprime(i)&&prime(i))ans++;}printf("%d",ans);// 请在此输入您的代码return 0;
}

06 方格分割

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。
如下就是三种可行的分割法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。

#include<iostream>
using namespace std;
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
int ans=0;
int map[7][7]={0};//初始化
void DFS(int x,int y)
{if(x==0||x==6||y==0||y==6){ans++;return;}        for(int i=0;i<4;i++)//四个方向{int newx=x+dx[i];int newy=y+dy[i];if(map[newx][newy]==0){map[newx][newy]=1;map[6-newx][6-newy]=1;DFS(newx,newy);map[newx][newy]=0;map[6-newx][6-newy]=0;}    }
}
int main()
{map[3][3]=1;//从中心开始,3,3表示中心的点DFS(3,3);cout<<ans/4<<endl;//注意结果除以4return 0;
}

07 旋转

题目描述
图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转90度。
我们用一个nxm的二维数组来表示一个图片,例如下面给出一个3×4的图片的例子:

1 3 5 7
9 8 7 6
3 5 9 7

这个图片顺时针旋转90度后的图片如下:

3 9 1
5 8 3
9 7 5
7 6 7

给定初始图片,请计算旋转后的图片。
输入描述
输入的第一行包含两个整数n,m,分别表示行数和列数。接下来n行,每行m个整数,表示给定的图片。图片中的每个元素(像素)为一个值为0至255之间的整数(包含0和255)。
输出描述
输出m行n列,表示旋转后的图片。
输入输出样例
示例
输入

3 4
1 3 5 7
9 8 7 6
3 5 9 7

输出

3 9 1
5 8 3
9 7 5
7 6 7
#include<stdio.h>int main()
{int num[255][255];int n, m;scanf("%d %d", &n, &m);for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){scanf("%d",&num[i][j]);}}for (int i = 0; i < m ; i++){for (int j = n-1; j >=0; j--){printf("%d ", num[j][i]);}printf("\n");}return 0;
}

08 本质上升序列

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝特别喜欢单调递增的事物。在一个字符串中,如果取出若干个字符,将这些字符按照在字符串中的顺序排列后是单调递增的,则成为这个字符串中的一个单调递增子序列。
例如,在字符串lanqiao中,如果取出字符n和q,则nq组成一个单调递增子序列。类似的单调递增子序列还有lng、i、ano等等。小蓝发现,有些子序列虽然位置不同,但是字符序列是一样的,例如取第二个字符和最后一个字符可以取到ao,取最后两个字符也可以取到ao。小蓝认为他们并没有本质不同。
对于一个字符串,小蓝想知道,本质不同的递增子序列有多少个?例
如,对于字符串lanqiao,本质不同的递增子序列有21个。它们分别
是l、a、n、q、i、o、ln、an、lq、aq、nq、ai、lo、ao、no、io、
Inq、anq、Ino、ano、aio。
请问对于以下字符串(共200个小写英文字母,分四行显示):

tocyjkdzcieoiodfpbgcncsrjbhmugdnojjddhllnofawllbhf
iadgdcdjstemphmnjihecoapdjjrprrqnhgccevdarufmliqij
gihhfgdcmxvicfauachlifhafpdccfseflcdgjncadfclvfmad
vrnaaahahndsikzssoywakgnfjjaihtniptwoulxbaeqkqhfwl
#include <bits/stdc++.h>
using namespace std;
int f[210];
int main()
{// 请在此输入您的代码string s = "tocyjkdzcieoiodfpbgcncsrjbhmugdnojjddhllnofawllbhfiadgdcdjstemphmnjihecoapdjjrprrqnhgccevdarufmliqijgihhfgdcmxvicfauachlifhafpdccfseflcdgjncadfclvfmadvrnaaahahndsikzssoywakgnfjjaihtniptwoulxbaeqkqhfwl";for (int i = 0; i < s.size(); i++) f[i] = 1;for (int i = 0; i < s.size(); i++){for (int j = 0; j < i; j++){if (s[i] > s[j]) f[i] += f[j];if (s[i] == s[j]) f[i] = 0;}}int ans = 0;for (int i = 0; i <s.size(); i++)ans += f[i];cout << ans << endl;return 0;
}

09 英文字母

问题描述
输入一个正整数n,输出第n个大写英文字母。
输入格式
输入一行包含一个正整数n。
输出格式
输出一行包含一个字母。
样例输入1

12

样例输出1

L

样例输入2

17

样例输出2

Q

评测用例规模与约定
对于所有评测用例,1≤n≤26。

#include <stdio.h>
#include <stdlib.h>
int main()
{int n;scanf("%d",&n);printf("%c",n+64);return 0;
}

10 平行四边形面积

题目描述
给定一个平行四边形的底边长度l和高度h,求平行四边形的面积。
输入描述
输入的第一行包含一个整数l,表示平行四边形的底边长度。第二行包含一个整数 h,表示平行四边形的高。
其中,1≤l,h≤100
输出描述
输出一个数,表示平行四边形的面积。如果面积为整数,请直接输出这个整数,不带小数点。如果面积不是整数,请四舍五入保留正好一位小数。
输入输出样例
示例1
输入

5
6

输出

30
#include <stdio.h>
#include <stdlib.h>
int main()
{float l,h;float s;int i;scanf("%f%f",&l,&h);s=l*h;i=(int)s;if(i==s){printf("%d",i);}else{printf(".1f",s);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/115586.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

02-数据结构-线性表

线性表的特点&#xff1a; (1)存在惟一一个被称为"第一个"的数据元素 (2)存在惟一一个被称为"最后一个"的数据元素 (3)除第一个之外&#xff0c;集合中每一个数据元素均只有一个前驱 (4)除最后一个之外&#xff0c;集合中每个数据均只有一个后继 线性表是…

发送实时音频数据到udp服务

由于浏览器不能直接连接udp服务&#xff0c;所以需要搭建一个websocket服务做中转&#xff0c;让websocket服务连接udp服务 1、vue开发获取实时音频数据并按4096分包后添加rtp协议头发送到websocket服务&#xff08;连接websocket自行编写连接到127.0.0.1:8889&#xff09; da…

【数据增强】

【数据增强】 1 数据增强的情形2 数据增强的方法 1 数据增强的情形 当数据比较小&#xff0c;难以获取新的训练数据时&#xff0c;可以考虑数据增强&#xff0c;如随机裁剪部分&#xff0c;随机左右上下翻转、随机旋转一个角度、随机亮度变化等微小变化&#xff0c;数据的多样…

手写实现简易Spring框架

该文章记录的是自己实现简易Spring框架的记录&#xff0c;简化了源码中的大量操作&#xff0c;没有实现三级缓存的机制。 其中将会对Component&#xff0c;ComponentScan&#xff0c;Scope&#xff0c;Autowired注解。BeanDefinition类以及ApplicationContext、BeanPostProcess…

如何在RK3568开发板上实现USBNET?——飞凌嵌入式/USB Gadget/USB-NET/网络

本文将借助飞凌嵌入式OK3568-C开发板为大家介绍实现USBNET模式的方法&#xff0c;在这之前需要先知道什么是USB Gadget——USB Gadget是指所开发的电子设备以USB从设备的模式通过USB连接到主机。举个例子&#xff1a;将手机通过USB线插入PC后&#xff0c;手机就是USB Gadget。同…

BOM与DOM--记录

BOM基础&#xff08;BOM简介、常见事件、定时器、this指向&#xff09; BOM和DOM的区别和联系 JavaScript的DOM与BOM的区别与用法详解 DOM和BOM是什么&#xff1f;有什么作用&#xff1f; 图解BOM与DOM的区别与联系 BOM和DOM详解 JavaScript 中的 BOM&#xff08;浏览器对…

医疗虚拟仿真和虚拟现实有什么区别?哪个更好?

随着我们在仿真教育中越来越多地使用新技术&#xff0c;区分虚拟模式的类型很重要。虚拟仿真是一个统称&#xff0c;用来概括术语来描述各种基于仿真的体验&#xff0c;从基于屏幕的平台到沉浸式虚拟现实。然而&#xff0c;各虚拟平台在保真度、沉浸感和临场感的水平上有很大差…

流媒体及直播相关知识

文章目录 前言一、流媒体1、基本概念2、流式传输3、流媒体技术原理4、流媒体传输模式5、H.264 流媒体传输系统框架 二、直播1、直播中使用的流媒体协议2、直播的模块划分3、视频直播流程①、推流到服务器②、服务器流分发 前言 本文主要讲解流媒体及其直播相关知识&#xff0c…

【期望+状压DP】 2021 CCPC G

Problem - G - Codeforces 题意&#xff1a; 思路&#xff1a; 注意到 k 的范围是18&#xff0c;可以考虑状压 要求最小的期望长度&#xff0c;我们可以遍历所有可能的路径&#xff0c;统计这些路径的期望长度的最小值即可 那么怎么遍历呢&#xff1f;这里很经典的处理方式…

初识软件工程

软件工程是一门涵盖软件开发、维护和管理的学科&#xff0c;它通过应用工程化的原则和方法来提高软件系统的质量和可靠性。在当今数字化和信息化的时代&#xff0c;软件工程对于现代社会的各个领域都具有至关重要的作用。 基本概念&#xff1f; 计算机系统中与硬件相互依存的一…

复习Day01:数组part01:701. 二分查找、35. 搜索插入位置、367. 有效的完全平方数、69. x的平方根、74. 搜索二维矩阵

之前的blog链接&#xff1a;https://blog.csdn.net/weixin_43303286/article/details/131690654?spm1001.2014.3001.5501 我用的方法是在leetcode再过一遍例题&#xff0c;明显会的就复制粘贴&#xff0c;之前没写出来就重写&#xff0c;然后从拓展题目中找题目来写。辅以Lab…

ruoyi框架修改左侧菜单样式

菜单效果 ruoyi前端框架左侧的菜单很丑&#xff0c;我们需要修改一下样式&#xff0c;下面直接看效果。 修改代码 1、sidebar.scss .el-menu-item, .el-submenu__title {overflow: hidden !important;text-overflow: ellipsis !important;white-space: nowrap !important;//…