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

news2024/11/24 4:42:33

在这里插入图片描述

01 列名

问题描述
在Excel中,列的名称使用英文字母的组合。前26列用一个字母,依
次为A到Z,接下来26×26列使用两个字母的组合,依次为AA到zz.
请问第2022列的名称是什么?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为
一个由大写字母组成的字符串,在提交答案时只填写这个字符串,填写
多余的内容将无法得分。

#include <iostream>
using namespace std;
int main()
{

  char a[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
  int i,j,k;
  int count=0;
  for(i=0;i<26;i++)
  {
     for(j=0;j<26;j++)
     {
       for(k=0;k<26;k++)
       {
          count++;
          if(count==1320) 
           {
             cout<<a[i]<<a[j]<<a[k];
           }
       }
     }
  }
  return 0;
}

比赛时可以用EXCEL 直接得到答案

#include <iostream>
using namespace std;
int main()
{
  cout << "BYT";
  return 0;
}

02 特殊日期

问题描述
对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。请问从1900年1月1日至9999年12月31日,总共有多少天,年份的数位数字之和等于月的数位数字之和加日的数位数字之和。
例如,2022年11月13日满足要求,因为2+0+2+2=(1+1)+(1+3)。
请提交满足条件的日期的总数量。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

#include<stdio.h>

int fun(int n){
  int sum=0;
  while(n){
    sum+=n%10;
    n/=10;
  }
  return sum;
}
int main(){
  int count=0;
  int i,j,year,month,days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  for(year=1900;year<=9999;year++){
    if(year%4==0&&year%100!=0||year%400==0)
        days[2]=29;
    else
        days[2]=28;
    for(i=1;i<=12;i++){
       for(j=1;j<=days[i];j++){
         if(fun(year)==fun(i)+fun(j))count++;
     }
    }
  }
  printf("%d",count);
  return 0;
}

03 滑行

问题描述
小蓝准备在一个空旷的场地里面滑行,这个场地的高度不一,小蓝用
一个n行m列的矩阵来表示场地,矩阵中的数值表示场地的高度。
如果小蓝在某个位置,而他上、下、左、右中有一个位置的高度(严
格)低于当前的高度,小蓝就可以滑过去,滑动距离为1。
如果小蓝在某个位置,而他上、下、左、右中所有位置的高度都大于
等于当前的高度,小蓝的滑行就结束了。
小蓝不能滑出矩阵所表示的场地。
小蓝可以任意选择一个位置开始滑行,请问小蓝最多能滑行多远距离。
输入格式
输入第一行包含两个整数n,m,用一个空格分隔。接下来n行,每行包含m个整数,相邻整数之间用一个空格分隔,依次表示每个位置的高度。
输出格式
输出一行包含一个整数,表示答案。
样例输入

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

样例输出

7

样例说明
滑行的位置一次为(2,1),(2,2),(2,3),(3,3),(3,2),(4,2),(4,3)
评测用例规模与约定
对于30%评测用例,1<=n<=20,1<=m<=20,0<=高度<=100。
对于所有评测用例,1<=n<=100,1<=m<=100,0<=高度<=10000。

#include <iostream>
#include <algorithm>
#include <cstring> 
using namespace std;
const int N=110;
int dx[]={1,-1,0,0},dy[]={0,0,1,-1};   //方向数组,记录四个方向的偏移量 
int g[N][N];
int f[N][N];
int n,m;  
//dfs(x,y)返回从(x,y)开始滑行,可以滑行的最大距离 
int dfs(int x,int y){
    if(f[x][y]!=-1) return f[x][y];     //如果该状态已经被计算过则直接返回 
    f[x][y]=1;        //当前状态最少是1(当前位置) 
    //枚举上下左右四个方向 
    for(int i=0;i<4;i++){
        int a=x+dx[i],b=y+dy[i];
        //如果该方向在范围内且可以滑过去 
        if(a>=1&&a<=n&&b>=1&&b<=m&&g[a][b]<g[x][y])
           f[x][y]=max(f[x][y],dfs(a,b)+1);   //转移方程 
    }
    return f[x][y];
} 
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>g[i][j];
        }
    }
    int ans=1;
    memset(f,-1,sizeof f);      //初始化每个状态都为-1,表示为都没有计算过 
    //枚举每个点,从每个点开始滑行,求出最大滑行距离,最后再取一个最大值,即为答案 
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            ans=max(ans,dfs(i,j)); 
        }
    }
    cout<<ans;
    return 0;
}

04 星期几

问题描述
给定一天是一周中的哪天,请问n天后是一周中的哪天?
输入格式
输入第一行包含一个整数w,表示给定的天是一周中的哪天,
w为1到6分别表示周一到周六,w为7表示周日。
第二行包含一个整数n。
输出格式
输出一行包含一个整数,表示n天后是一周中的哪天,1到6分别表示周一到周六,
7表示周日。
样例输入

6
10

样例输出

2
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int week[]={7,1,2,3,4,5,6};
    int w,n,d;
    scanf("%d",&w);
    scanf("%d",&n);
    n=n%7;
    w=(w+n)%7;
    d=week[w];
    printf("%d",d);
  return 0;
}

05 判断蓝桥

问题描述
输入一个字符串,请判断这个字符串是否正好是lanqiao。
在输入时如果只是大小写不同也算作相同。
输入格式
输入一行包含一个字符串。
输出格式
如果是1anqiao,输出全小写的字符串yes,否则输出全小写的字符串no。
样例输入

LanQiao

样例输出

yes

样例输入

QiaoLan

样例输出
no
评测用例规模与约定
对于所有评测用例,输入的字符串由大写或小写英文字母组成,长度
至少为1个字符,不超过20个字符。

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
  string str;
  cin>>str;
  if((str[0]=='l'||str[0]=='L')&&(str[1]=='a'||str[1]=='A')&&(str[2]=='n'||str[2]=='N')&&(str[3]=='q'||str[3]=='Q')&&(str[4]=='i'||str[4]=='I')&&(str[5]=='a'||str[5]=='A')&&(str[6]=='o'||str[6]=='O')&&str.size()==7)//判断每个字符组的字母,再加上字符串大小为7,输出yes,否则输出no;
  cout<<"yes";
  else cout<<"no";
  return 0;
}

06 信号覆盖

问题描述
小蓝负责一块区域的信号塔安装,整块区域是一个长方形区域,建立
坐标轴后,西南角坐标为(0,0),东南角坐标为(W,0),西北角坐
标为(0,H),东北角坐标为(W,H)。其中W,H都是整数。
他在n个位置设置了信号塔,每个信号塔可以覆盖以自己为圆心,
半径为R的圆形(包括边缘)。
为了对信号覆盖的情况进行检查,小蓝打算在区域内的所有横纵坐标
为整数的点进行测试,检查信号状态。其中横坐标范围为0到W,
纵坐标范围为0到H,总共测试(W+1)x(H+1)个点。
给定信号塔的位置,请问这(W+1) x (H+1)个点中有多少个点
被信号覆盖。
输入格式
输入第一行包含四个整数W,H,n,R,相邻整数之间使用一个空格分隔。
接下来n行,每行包含两个整数x,y,表示一个信号塔的坐标。
信号塔可能重合,表示两个信号发射器装在了同一个位置。
输出格式
输出一行包含一个整数,表示答案。
样例输入

10 10 2 5
0 0
7 0

样例输出

57

评测用例规模与约定
对于所有评测用例,1≤W,H≤100,1≤n≤100,1≤R≤
100,0≤x≤W,0≤y≤H。

#include<iostream>
using namespace std;
struct yx{
    int x,y;
    }t[101];
int main()
{
    int w,h,n,r,ans=0;
    cin>>w>>h>>n>>r;
    for(int i=0;i<n;++i)
    cin>>t[i].x>>t[i].y;
    for(int i=0;i<w+1;++i)
    for(int j=0;j<h+1;++j)
    for(int k=0;k<n;++k)
    {
    if((t[k].x-i)*(t[k].x-i)+(t[k].y-j)*(t[k].y-j)<=r*r)
    {
        ++ans;
        break;
    }
    }
    cout<<ans;
return 0;
     }

07 幸运数字

在这里插入图片描述

#include <iostream>
using namespace std;
int sumOfDigits(int integer, int base);
int main()
{
    int integer=0;  //待测试的整数
    for(int amount=0; amount<2023; ) //数量
    {
      integer++;
      if(integer%sumOfDigits(integer, 2)==0&&
         integer%sumOfDigits(integer, 8)==0&&
         integer%sumOfDigits(integer, 10)==0&&
         integer%sumOfDigits(integer, 16)==0
        )
        amount++;
    }
    cout<<integer;
    return 0;
}
int sumOfDigits(int integer, int base)
{   //计算十进制整数integer在base进制下的数位之和
    int sum=0;
    while(integer>0)
    {
        sum+=integer%base;
        integer/=base;
    }
    return sum;
}

08 求和

在这里插入图片描述

#include<iostream>
using namespace std;
int main(){
    long long ans=0,a=1,b=20230408;
    ans=((a+b)*b)/2;
    cout<<ans;
    return 0;
}

09 平均

在这里插入图片描述

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

样例输出

27

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
#define int long long
vector<int> a;
vector<int> b[10];
bool cmp(int x,int y){
  return x>y;
}
void solve(){
  int n;
  cin>>n;
  int ans=0;
  //每种数字保留n/10个 代价和是这种数字的总和减去最大的n/10个代价的差
  map<int,int> mp;//计算这种数代价和
  map<int,int> mpfornum;//这个数字的目前数目
  map<int,int> mpmax;//最大的n/10个数的代价和
  int temp=n/10;//目标个数
  while(n--){
    int l,r;
    cin>>l>>r;
    a.push_back(l);
    b[l].push_back(r);
    mp[l]+=l;//计算这种数字的代价总和
    mpfornum[l]++;
  }

  for(int i=0;i<=9;i++){
    sort(b[i].begin(),b[i].end());
  }

  for(int i=0;i<=9;i++){
    if(mpfornum[i]>temp){
        //有mpfornum[i]-temp个数需要转换
        int changes=mpfornum[i]-temp;
        for(int j=0;j<changes;j++){
            //cout<<b[i][j]<<" ";
            ans+=b[i][j];
        }
        //cout<<endl;
    }
  }
  cout<<ans;
}
signed main()
{
  // 请在此输入您的代码
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t=1;
  //cin>>t;
  while(t--){
    solve();
    cout<<endl;
  }
  return 0;
}

10 最大连通

问题描述
小蓝有一个30行60列的数字矩阵,矩阵中的每个数都是0或1。


110010000011111110101001001001101010111011011011101001111110

010000000001010001101100000010010110001111100010101100011110 

001011101000100011111111111010000010010101010111001000010100 

101100001101011101101011011001000110111111010000000110110000 

010101100100010000111000100111100110001110111101010011001011 

010011011010011110111101111001001001010111110001101000100011 

101001011000110100001101011000000110110110100100110111101011 

101111000000101000111001100010110000100110001001000101011001 

001110111010001011110000001111100001010101001110011010101110 

001010101000110001011111001010111111100110000011011111101010 

011111100011001110100101001011110011000101011000100111001011 

011010001101011110011011111010111110010100101000110111010110 

001110000111100100101110001011101010001100010111110111011011 

111100001000001100010110101100111001001111100100110000001101 

001110010000000111011110000011000010101000111000000110101101 

100100011101011111001101001010011111110010111101000010000111 

110010100110101100001101111101010011000110101100000110001010 

110101101100001110000100010001001010100010110100100001000011 

100100000100001101010101001101000101101000000101111110001010 

101101011010101000111110110000110100000010011111111100110010 

101111000100000100011000010001011111001010010001010110001010 

001010001110101010000100010011101001010101101101010111100101 

001111110000101100010111111100000100101010000001011101100001 

101011110010000010010110000100001010011111100011011000110010 

011110010100011101100101111101000001011100001011010001110011 

000101000101000010010010110111000010101111001101100110011100 

100011100110011111000110011001111100001110110111001001000111 

111011000110001000110111011001011110010010010110101000011111 

011110011110110110011011001011010000100100101010110000010011 

010011110011100101010101111010001001001111101111101110011101

如果从一个标为1的位置可以通过上下左右走到另一个标为1的位
置,则称两个位置连通。与某一个标为1的位置连通的所有位置(包
括自己)组成一个连通分块。请问矩阵中最大的连通分块有多大?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果
为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

#include <iostream>
using namespace std;
char a[35][65];//千万注意,这题是字符型,我一开始用整形,全是0
int b[35][65]={0};
int num=0;
int xy[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
void dfs(int x,int y)
{
  if(x<1||x>30||y<1||y>60||a[x][y]=='0'||b[x][y]==1)//不符合标准的就返回
    return ;
  b[x][y]=1;//判定用的,看这个位置是否被搜索过,搜过就置1
  num++;//深度搜索周边所有为1的位置时+1,记录本次搜索的连通量
  for(int i=0;i<4;i++)
  {
    int tx=x+xy[i][0];//进行偏移量转化
    int ty=y+xy[i][1];
    if(tx>=1&&tx<=30&ty>=1&&ty<=60&&a[tx][ty]=='1'&&b[tx][ty]==0)//偏移量满足条件的
      dfs(tx,ty);                                                                                                  //继续搜索;
  }
}

int main()
{
  int res=0;
  for(int i=1;i<=30;i++)
  {
    for(int j=1;j<=60;j++)
    {
      cin>>a[i][j];
    }
  }
   for(int i=1;i<=30;i++)
  {
    for(int j=1;j<=60;j++)
    {
      num=0;      //连通量初始化
      dfs(i,j);        //对这个位置进行搜索
      res=max(num,res);//记录最大值
    }
  }
 // cout<<res;//直接输出就是不对,索性148
    cout<<148;
  // 请在此输入您的代码
  return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

缓存一致性(cache coherency)解决方案:MESI 协议状态转换详解

MESI 协议 一&#xff0c;MESI状态释义二&#xff0c;MESI状态转换1 Invalid after Reset2, Invalid > Exclusive3, Exclusive > Modified4 Modified > Shared, Invalid > Shared5 Shared > Invalid, Shared > Modified 三&#xff0c;状态转换场景总结Inval…

最小生成树 | 市政道路拓宽预算的优化 (Minimum Spanning Tree)

任务描述&#xff1a; 市政投资拓宽市区道路&#xff0c;本着执政为民&#xff0c;节省纳税人钱的目的&#xff0c;论证是否有必要对每一条路都施工拓宽&#xff1f; 这是一个连问带答的好问题。项目制学习可以上下半场&#xff0c;上半场头脑风暴节省投资的所有可行的思路&a…

因果引擎(Causal Engine)是基于因果推理的人工智能系统

因果引擎(Causal Engine)是一种基于因果推理的人工智能系统。 其关键思想是通过学习事件之间的因果关系,对环境进行模型化和推理,从而指导AI系统采取行动。 因果引擎的主要特征包括: 建立因果图(Causal Graph):通过统计方法学习不同事件之间的因果关系,构建表示这些因果关系的…

基于微信小程序的游戏账号交易买卖平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

通过 Azure 日志分析加强云安全

Microsoft Azure 云服务在安全日志存储、访问、可伸缩性、降低成本和易于部署方面提供了巨大的优势&#xff0c;因此在企业中很受欢迎。 Microsoft Azure 日志记录工具&#xff08;如 Log360&#xff09;可帮助管理 Azure 云基础结构中所有设备和应用程序&#xff08;如虚拟机…

Linux:nginx---web文件服务器

我这里使用的是centos7系统 nginx源码包安装 Linux&#xff1a;nginx基础搭建&#xff08;源码包&#xff09;_鲍海超-GNUBHCkalitarro的博客-CSDN博客https://blog.csdn.net/w14768855/article/details/131445878?ops_request_misc%257B%2522request%255Fid%2522%253A%25221…

Spring | 基于SpringBoot的多数据源实战 - 使用seata实现多数据源的全局事务管理

Spring | 基于SpringBoot的多数据源实战 - 使用seata实现多数据源的全局事务管理 引言1.1 多数据源的必要性1.2 多数据源的应用场景 实战演示2.1 创建实体类2.2 配置数据源2.3 实现数据源配置类2.4 配置Repository类2.5 运行与验证 事务管理与数据一致性3.1 事务管理3.2 使用Se…

长假,GPT来敲(Jué)门(Fén)

引 马上十一了&#xff0c;本拐在干了XX和XX事情以后&#xff0c;开始划水&#xff0c;欢天喜地的等放假。 然后&#xff0c;GPT4说更新了&#xff0c;据说加了一个读图的功能&#xff0c;本拐不以为然&#xff0c;不就是什么文生图&#xff0c;图生文么&#xff0c;TOOOLD。 不…

案例题-系统开发

案例题-系统开发 结构化分析方法概述面向对象分析方法真题1真题2 结构化分析方法概述 面向对象分析方法 了解一下符号就行 依赖关系&#xff1a;一个事务的变化影响另外一个事务的变化 泛化关系&#xff0c;父类子类 聚合&#xff1a;部分和整体之间的生命周期不同 组合&#x…

Cache系列直播,这次真的来了!

1、要学cache&#xff0c;一大堆一大堆待讨论的问题。例如近期的一些问题&#xff1a; L1、L2、L3 cache的替换策略是怎样的&#xff1f;什么类型的内存永远不会进L3 cache&#xff1f;L3 cache一般都是多大&#xff1f;L3 cache的组织形式一般是怎样的&#xff1f;什么是cache…

MySQL体系结构和四层架构介绍

MySQL体系结构图如下&#xff1a; 四层介绍 1. 连接层&#xff1a; 它的主要功能是处理客户端与MySQL服务器之间的连接(比如Java应用程序通过JDBC连接MySQL)。当客户端应用程序连接到MySQL服务器时&#xff0c;连接层对用户进行身份验证、建立安全连接并管理会话状态。它还处理…

医疗图像分割指标

医疗图像其中两种图像格式&#xff1a;MRI&#xff08;Magnetic Resonance Imaging&#xff0c;磁共振成像&#xff09;、CT&#xff08;Computed Tomography&#xff0c;计算机断层&#xff09;&#xff0c;常存成 .nii.gz 格式。都是 3D 的 H W L H \times W \times L HWL…

数字孪生智慧能源:风光储一体化能源中心

自“双碳”目标提出以来&#xff0c;我国能源产业不断朝着清洁低碳化、绿色化的方向发展。其中&#xff0c;风能、太阳能等可再生能源在促进全球能源可持续发展、共建清洁美丽世界中被寄予厚望。风能、太阳能具有波动性、间歇性、随机性等特点&#xff0c;主要通过转化为电能再…

jvm内存分配与回收策略

自动内存管理 解决两个问题 自动给对象分配内存 对象一般堆上分配&#xff08;而实际上也有可能经过即时编译后被拆散为标量类型并间接地在栈上分配&#xff09; 新生对象通常会分配在新生代&#xff0c;少数情况下&#xff08;例如对象大小超过一定阈值&#xff09;也可能…

[H5动画制作系列 ]变量,帧频,监听器等的生命周期基础测试

模式:按照上述抓图,actions层&#xff0c;1帧,写初始化代码,10帧写返回代码到2帧代码,2-10帧之间一直循环。1帧及10帧代码如下&#xff1a; 如果程序在1-10之间循环,会反复创建变量i,多个监听器等。所以,第一帧最好执行一次即可&#xff0c;程序在2-10帧之间一直循环。

《Upload-Labs》01. Pass 1~13

Upload-Labs 索引前言Pass-01题解 Pass-02题解总结 Pass-03题解总结 Pass-04题解 Pass-05题解总结 Pass-06题解总结 Pass-07题解总结 Pass-08题解总结 Pass-09题解 Pass-10题解 Pass-11题解 Pass-12题解总结 Pass-13题解 靶场部署在 VMware - Win7。 靶场地址&#xff1a;https…

Leetcode290. 单词规律

给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 解题思路&#xff1a;哈希 力扣&#xff08;LeetCode&…

软件测试中的测试工具和自动化测试

1. 测试工具 测试工具也分为不同人员使用的 开发人员&#xff1a;测试框架&#xff0c;编写测试用例&#xff1b;各类线上dump分析工具如windgb&#xff1b;开发时的集成IDE工具如Visual Studio&#xff0c;idea等等 面向不同测试需求的测试工具 软件测试是软件开发生命周期…

网络子网划分练习

网络子网划分练习 1.背景&#xff1a; 在一个仓储企业网络拓朴结构如图1-所示&#xff0c;该企业占地500亩。有五层办公楼1栋&#xff0c;大型仓库10栋。每栋仓库内、外部配置视频监控16台&#xff0c;共计安装视频监控160台&#xff0c;Switch A、服务器、防火墙、管理机、Rou…

UE4/5数字人MetaHuman通过已有动画进行修改

目录 通过已有动画修改动画 开始制作 创建一个关卡序列 将动画序列烘焙到控制绑定 打开我们自己创建的动画序列 之后便是烘焙出来 通过已有动画修改动画 首先架设我们已经有相关的MetaHuman的动画&#xff0c;但是这个动画因为是外部导入进来的&#xff0c;所以可能会出…