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

news2024/11/24 14:21:23

在这里插入图片描述

01

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

输入描述 Input Description

输入包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

输出描述 Output Description

输出包括一行,这一行只包含一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1, 2, 3, 4, 5, 6, 7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

样例输入 Sample Input

5 3

6 2

7 2

5 3

5 4

0 4

0 6

样例输出 Sample Output

3

#include<stdio.h>

int main(){

int a,b,i,day,max,array[8];

char c;

for(i=1;i<=7;i++){

scanf("%d %d",&a,&b);

array[i]=a+b;

}

max=array[0];

for(i=1;i<=7;i++){

if(max<array[i]){

max=array[i];

day=i;

}

}

if(max>8)

printf("%d",day);

else printf("%d",0);

}

02 日期问题

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
int a=0,b=0,c=0;   //全局变量
int run(int x){  //检测当年是否为闰年,是闰年返回1,不是闰年返回0
  if(x%4==0&&x%100!=0)return 1;
  if(x%400==0)return 1;
  return 0;
}
int check(int i,int j,int k){     //检测三个参数是否符合要求,符合返回1,不符合返回0
  i=i%100;
  if(a==i && b==j && c==k)return 1;  //a-b-c 年月日
  if(a==k && b==j && c==i)return 1;  //a-b-c 日月年
  if(a==j && b==k && c==i)return 1;  //a-b-c 月日年
  return 0;   
}

int main(int argc, char *argv[])
{ int i=0,j=0,k=0;
  int month[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};  //闰年2月有29号,平年2月只有28号
  scanf("%d/%d/%d",&a,&b,&c);
  for(i=1960;i<=2059;i++){   //年份遍历
    for(j=1;j<=12;j++){  //月份遍历
      if(run(i)==1)month[2]=29;else month[2]=28;
      for(k=1;k<=month[j];k++){   //日遍历
        if(check(i,j,k)==1){printf("%d-%02d-%02d\n",i,j,k);}
      }
    }
  } return 0;
}

03 杨辉三角形

在这里插入图片描述
输入描述
输入一个整数 N。

输出描述
输出一个整数代表答案。

输入输出样例
示例 1
输入

6

输出

13
//解题思路:
//1、首先通过画图,发现杨辉三角对称,而题目要求找到数 n 最早出现的位置,
//那么我们可以确定,n最早出现的位置一定在左半边,而且最中间的是该行最大的数
//通过图,我们可以发现通过行和列的枚举是不好的,看数据1e9也就是十亿, 
//2.这是个很大的工程,因此我们试想可不可以从斜行来观察呢??
//下图我们可以观察到,第1斜行的1=C(0,0),第二斜行的2=C(2,1),第三斜行的6=C(4,2),第四斜行的20=C(6,3)…
//也就是说,如果我设共 i 斜行,那么第 i 斜行的第一个数为C(2*i,i),同时它是该斜行中最小的数字
//那么我们一定可以找到1e9的位置
//3.1e9的位置确定:
//显然C(32,16)< 1e9,而C(34,17)> 1e9,因此我们可以对前16行进行枚举
//4.枚举顺序:
//首先对于左半边杨辉三角来说,每行最大的数一定出现在该行末尾,同时它也是该数最早出现的位置
//因此我们不妨从第16斜行开始枚举,只要出现等于 n 的数直接返回位置即可
//对于查找,我们可以对每个斜行采用二分的方法查找n
//对于位置,我们可以在查找的时候确定,n所在行 r(不是斜行)和所在斜行 k ,
//然后通过等差公式 r*(r+1)/2 计算它之前数目的个数再加上 k+1
//例如:n = 20 (由于推到,第一行行号为 0 ,斜行行号也是 0)
//查找过程我们可以确定20在第7行,实际返回 r = 6 ,在第 4 斜行 ,但此时 k 是 3,因此 k+1
//结果 ans = 6*7/2 + 3 + 1 = 25
//5.时间复杂度的计算: 
//枚举16斜行 --> O(16)
//二分查找 --> O(logn)
//综合起来,算法时间复杂度为 O(16logn)
#include<stdio.h>
#include<stdlib.h>
#define ll long long 
int n;
int max(int a,int b)
{
  return a>b?a:b;
}
ll C(int a,int b)//计算二项式C(a,b) 
{
    ll res=1;
    int i,j;
    for(i=a,j=1;j<=b;i--,j++)
    {
        res=res*i/j;
        if(res>n)
        {
            return res;//如果大于n已经无意义了,因为斜行是递增的 
        }
    }
    return res;
}
int check(int k)
{
    //二分该斜行,找到大于等于该值的第一个数
    //左边界2k,右边界max(n,l),避免右边界小于左边界 
    int l=2*k,r=max(n,l);
    while(l<r)
    {
        int mid=(l+r)/2;
        if(C(mid,k)>=n) r=mid;
        else l=mid+1;
    }
    if(C(r,k)!=n)
    {
        return 0;
    }
    printf("%lld",(ll)(r+1)*r/2+k+1);
    return 1;
}
int main()
{
    scanf("%d",&n);
    int i;
    //从第16斜行枚举 
    for(i=16; ;i--)
    {
        if(check(i)==1)
        {
            break;
        }
     } 
    return 0;
}

04 两数之和

题目描述

输入一个整数n,输入n个整数存入数组 nums 再输入一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

输入格式

输入n和n个整数的数组,再输入一个整数target

输出格式

输出两个整数表示数组下标

输入样例1

4 2 7 11 15 9

输出样例1

0 1

输入样例2

3 3 2 4 6

输出样例2

1 2

输入样例3

2 3 3 6

输出样例3

0 1

#include<stdio.h>

int main()

{

int n,i,j;

scanf("%d",&n);

int nums [n];

for(int i=0;i<n;i++){

scanf("%d",&nums[i]);

}

int target;

scanf("%d",&target);

for(int i=0;i<n-1;i++){

for(int j=1;j<=n;j++){

  if(nums[i]+nums[j]==target){

  printf("%d %d",i,j);

  break;

  }

}

}





 } 

05 反转字符串

题目描述

输入一个整数k和字符串,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。

如果剩余字符少于 k 个,则将剩余字符全部反转。

如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

输入格式

输入整数k和字符串s

输出格式

输入样例1

2 abcdefg

输出样例1

bacdfeg

输入样例2

2 abcd

输出样例2

bacd

#include <stdio.h>
#include <string.h>
void reverseString(char *str, int k) {
    int len = strlen(str);
    int i;

    for (i = 0; i < len; i += 2 * k) {
        int left = i;
        int right = (i + k - 1 < len) ? (i + k - 1) : (len - 1);

        while (left < right) {
            char temp = str[left];
            str[left] = str[right];
            str[right] = temp;
            left++;
            right--;
        }
    }
}

int main() {
    int k;
    char str[100];

    scanf("%d %s", &k, str);
    reverseString(str, k);
    printf("%s\n", str);

    return 0;
}

06 受伤的皇后

在这里插入图片描述
输入描述
输入的第一行包含一个整数 n。

其中,1≤n≤10。

输出描述
输出一个整数,表示答案。

输入输出样例
示例 1
输入

4

输出

2
#include <iostream>
using namespace std;
int chess[15] = {};
int n, cnt = 0;
//r是行,y是列
bool check(int y, int r) {
    for (int i = 0; i < r; ++i) {            //遍历前r行
        if (chess[i] == y) return false;    //前面某行上的该列已有棋子
        else if (abs(i - r) == abs(chess[i] - y) && abs(i - r) < 3) return false;    //对角线上已有棋子
    }
    return true;
}
void dfs(int r) {    //r是行
    if (r == n) {
        ++cnt;
        return;
    }
    for (int i = 0; i < n; ++i) {
        if (check(i, r)) {
            chess[r] = i;
            dfs(r + 1);
        }
    }
}
int main() {
    cin >> n;
    dfs(0);
    cout << cnt << endl;
    return 0;
}

07 谈判

在这里插入图片描述
输入输出样例
示例 1
输入

4
9 1 3 5

输出

31
#include <stdio.h>
#include <stdlib.h>
int main()
{
  int num,temp;
  int ans = 0;
  scanf("%d",&num);
  int clan[num];
  for(int i = 0;i < num;i++)
  {
    scanf("%d",&clan[i]);
  }

  for(int i = 0;i < num;i++)
  {
    for(int j = i + 1;j < num;j++)
    {
      if(clan[i] > clan[j])
      {
        temp = clan[i];
        clan[i] = clan[j];
        clan[j] = temp;
      }
    }
  }
  for(int i = num - 1;i >= 0;i--)
  {
    if(i) ans += clan[i] * (num - i);
    else ans += clan[i] * (num - i - 1);
  }
  printf("%d",ans);
  return 0;
}

08 灌溉

在这里插入图片描述
输出描述
输出一个整数,表示答案。

输入输出样例
示例 1
输入

3 6
2
2 2
3 4
1

输出

9
#include <stdio.h>
void disp(int x,int y,int a[x][y])//显示花园情况 
{
    for(int i=0;i<x;i++){
        for(int j=0;j<y;j++)
            printf(" %d  ",a[i][j]);
        printf("\n\n");
    }
}
int main()
{
    int n,m,t,r,c,k,ans=0,list_i=0;//list_i后面就知道是什么了 
    scanf("%d %d",&n,&m);
    scanf("%d",&t);
    int gd[n][m],waterlist[10000][2]={0}; //waterlist是保存当前有水格子坐标的清单 
    
    for(int i=0;i<n;i++) //花园初始化 
        for(int j=0;j<m;j++)
            gd[i][j]=0;
    
    //disp(n,m,gd);
    
    while(t--){
        scanf("%d %d",&r,&c);
        gd[r-1][c-1]=1;    //输入水源坐标,题目指现实中的坐标,要-1 
    }
    
    //disp(n,m,gd);
    scanf("%d",&k);
    while(k--)
    {
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                if(gd[i][j]==1)//遍历整个花园,找到当前有水的格子 
                {
                    waterlist[list_i][0]=i;
                    waterlist[list_i++][1]=j;//将有水格子的坐标保存到waterlist中,list_i就是清单的序号 
                }
            }
        }
        for(int i=0;i<list_i;i++){    //开始扩散,记得判断边界,花园以外的地方超过了数组范围 
            gd[waterlist[i][0]] [waterlist[i][1]]=1;
            gd[waterlist[i][0]] [waterlist[i][1]+1]=(waterlist[i][1]+1<=n+1);
            gd[waterlist[i][0]] [waterlist[i][1]-1]=(waterlist[i][1]-1>=0);
            gd[waterlist[i][0]+1] [waterlist[i][1]]=(waterlist[i][0]+1<=m+1);
            gd[waterlist[i][0]-1] [waterlist[i][1]]=(waterlist[i][0]+1>=0);
        }
    }//一分钟后,k+1,重新遍历整个花园,更新有水格子清单,进行第二次扩散,以此类推。 
    //disp(n,m,gd);
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            ans+=gd[i][j];
        }
    } 
    printf("%d",ans);
     return 0;
}

09 翻硬币

在这里插入图片描述

输出描述
一个整数,表示最小操作步数。

输入输出样例
示例
输入

**********
o****o****

输出

5
#include<iostream>
#include<string.h>
using namespace std;
void swap(char x[1005],int i){
    if(x[i]=='*'){
        x[i] = 'o';
    }else
        x[i] = '*';
}
int main()
{
    char s[1000];
    char x[1005];
    cin>>s;
    cin>>x;
    int count = 0;
    int len = strlen(x);
    for(int i=0;i<len;i++){
        if(s[i]!=x[i]){
            swap(x,i); 
            swap(x,i+1); 
            count ++ ;
        }
    }
    cout<<count<<endl;
    return 0;
}

10 时间加法

在这里插入图片描述
输出描述
输出第一行包含一个整数,表示结果是几点。

第二行包含一个整数,表示结果是几分。

输入输出样例
示例 1
输入

3
20
165

输出

6
5
#include <stdio.h>
#include <stdlib.h>
int main()
{
  // 请在此输入您的代码
  int a,b,m,t;
  scanf("%d\n%d\n%d",&a,&b,&t);
  m=a*60+b+t;
  printf("%d\n%d",m/60,m%60);
  return 0;
}

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

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

相关文章

产品解读 | 分布式多模数据库:KaiwuDB

1.KaiwuDB 是什么&#xff1f; KaiwuDB 是由浪潮创新研发的一款分布式、多模融合&#xff0c;支持原生 AI 的数据库产品&#xff0c;拥有“就地计算”等核心技术&#xff0c;具备高速写入、极速查询、SQL 支持、随需压缩、智能预计算、订阅发布、集群部署等特性&#xff0c;具…

DirectX12(d3d12)初始化

一、前置要求 Windows 10及以上(安装有DirectX12)VisualStudio 2022 二、DirectX12入门 1.引用头文件 #include<Windows.h> #include<d3d12.h> #include<dxgi1_4.h>2.注册窗口类并初始化窗口 这里我们调用Windows API 通过应用程序的句柄来注册一个唯一…

操作系统基本概念

目录 一、基本概述 二、操作系统的特点 &#xff08;一&#xff09;并发性&#xff08;实质是微观的串行、宏观的并行&#xff09; 1. 对比看&#xff1a;并行性 2. 单核CPU和多核CPU &#xff08;二&#xff09;共享性 &#xff08;三&#xff09;虚拟性 &#xff08;…

数字大时代 韧性向未来 | 2023数字韧性保险峰会圆满召开

2023年9月7日&#xff0c;由同创永益主办的2023数字韧性保险峰会在上海成功举办。ITSS DCMG组长肖建一等数十位保险行业专家、企业代表出席本次会议&#xff0c;同创永益与多方共同探讨保险行业数字化发展与数字韧性体系建设&#xff0c;共话行业数智化未来。 会议伊始&#xf…

Qt(day1)

思维导图 Qt实现第一个web的基础页面 #include "mywnd.h" #include "ui_mywnd.h" #include<QLabel> #include<QLineEdit> #include<qpushbutton.h>MyWnd::MyWnd(QWidget *parent): QMainWindow(parent), ui(new Ui::MyWnd) {ui->set…

【SpringSecurity】三更草堂项目案例分析3 - 鉴权操作

目录 鉴权RBAC 模型前置准备redis 实现角色权限获取 鉴权 RBAC 模型 参考 CSDN 文章 RBAC&#xff08;Role-Based Access Control&#xff09;&#xff0c;基于角色的访问控制&#xff0c;现在主流的权限管理系统的权限设计都是 RBAC 模型 所谓的 RBAC 模型&#xff0c;可以理…

农民朋友有福利啦!建行江门市分行“裕农通+农资结算”平台正式上线

随着广东广圣农业发展有限公司办公室内的裕农通“智慧眼”结算机“叮”的一声到账提醒&#xff0c;标志着全国首个“裕农通农资结算“平台的成功上线&#xff0c;也标志着建行广东省江门市分行的裕农通业务又迈上了一个新的台阶。 广东广圣农业发展有限公司&#xff08;以下简…

【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

OpenELB部署及应用 一、OpenELB介绍 网址&#xff1a; openelb.io OpenELB 是一个开源的云原生负载均衡器实现&#xff0c;可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区发…

Iterator设计模式

目录 1、示例 1.1 Aggregate接口 1.2 Iterator接口 1.3 Book类 1.4 BookShelf类 1.6 BookShelfIterator 类 1.7 Main类 2、解释Iterator模式中的角色 2.1 Iterator模式的存在意义 2.2 抽象类和接口 2.3 Aggregate 和 Iterator的对应 2.4 容易弄错"下一个"…

【AI视野·今日CV 计算机视觉论文速览 第248期】Mon, 18 Sep 2023

AI视野今日CS.CV 计算机视觉论文速览 Mon, 18 Sep 2023 Totally 83 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;Robust e-NeRF,处理高速且大噪声事件相机流的NERF模型。(from NUS新加坡国立) 稀疏噪声事件与稠密事件数据的区别&#xff1a;…

0918hw

字节序概念&#xff1a; 字节序是不同cpu主机&#xff0c;存储多字节整数序列的存储方式 1.大端存储&#xff1a;低字节序存储在地址高位 2.小端存储&#xff1a;低字节序存储在地址低位 3.无论大小端存储&#xff0c;首地址都是低地址&#xff0c;数据都是先读取低地址&am…

Word 文档转换 PDF、图片

工作有需要 Word 文档转换 PDF、图片 的场景&#xff0c;我们来看看 Java 开发中怎么解决这个问题的。 Word 转 PDF Word 转 PDF 分为商用 Aspose 方案和开源 Apache POIiText 方案。 Aspose 方案 这种方式在目前来看应该是最好的&#xff0c;无论是转换的速度还是成功的概…

DuckDB 的 AsOf 连接:模糊时态查找

概要 DuckDB 支持 AsOf Joins——一种匹配附近值的方法。 它们对于搜索事件表以进行时间分析特别有用。 有想要连接的时间序列数据但时间戳不太匹配&#xff1f; 或者想使用另一个表中的时间查找随时间变化的值&#xff1f; 最终是否编写了复杂&#xff08;且缓慢&#xff09;…

【uniapp】Dcloud的uni手机号一键登录,具体实现及踩过的坑,调用uniCloud.getPhoneNumber(),uni.login()等

一键登录Dcloud官网请戳这里&#xff0c;感兴趣的可以看看官网&#xff0c;有很详细的示例&#xff0c;选择App一键登录&#xff0c;可以看到一些常用的概述 比如&#xff1a; 1、调用uni.login就能弹出一键登录的页面 2、一键登录的流程&#xff0c;可以选择先预登录uni.prelo…

mybatis学习记录(四)-----MyBatis核心配置文件详解

目录 MyBatis核心配置文件详解 4.1 environment 4.2 transactionManager 4.3 dataSource 4.4 properties 4.5 mapper MyBatis核心配置文件详解 mybatis-config.xml : <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUB…

安防视频监控平台EasyNVR无法控制云台,该如何解决?

TSINGSEE青犀视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入&#xff0c;并能对接入的视频流进行处理与多端分发&#xff0c;包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。在智慧安防等视频监控场景中&#xff0c;EasyNVR可提供视频实时监控直播、云端…

高云FPGA系列教程(6):ARM定时器使用

文章目录 [toc]1. ARM定时器简介2. FPGA配置3. 常用函数4. MCU程序设计5. 工程下载 本文是高云FPGA系列教程的第6篇文章。 本篇文章介绍片上ARM Cortex-M3硬核处理器定时器外设的使用&#xff0c;演示定时器溢出中断的配置方法&#xff0c;基于TangNano 4K开发板。 参考文档&a…

虚拟机(VM)监控工具

什么是虚拟机&#xff08;VM&#xff09;监控 虚拟机监控是监视在虚拟化环境中创建的各个虚拟机和 VM 的过程&#xff0c;使用虚拟机监控软件&#xff0c;您可以查看可用性状态、性能统计信息并管理连接到主机的虚拟机及其相应的来宾虚拟机。 虚拟机监控有什么作用 在主机上…

Python:函数和代码复用

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&#xff0c;直接在文末名片自取就可 1、关于递归函…

通义千问杀疯了!首发Qwen-VL-Chat模型的A卡本地部署教程

阿里云最新开源的通义千问视觉语言模型&#xff1a;Qwen-VL Qwen-VL 是一款支持中英文等多种语言的视觉语言&#xff08;Vision Language&#xff0c;VL&#xff09;模型&#xff0c;相较于此前的 VL 模型&#xff0c;其除了具备基本的图文识别、描述、问答及对话能力之外&…