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

在这里插入图片描述

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,不是闰年返回0if(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,不符合返回0i=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';}elsex[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.mzph.cn/news/81984.shtml

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

相关文章

【笔试强训选择题】Day43.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&#xff…

【QT5-解决不同分辨率屏幕-进行匹配大小-适应屏幕大小-基础样例】

【QT5-解决不同分辨率屏幕-进行匹配大小-适应屏幕大小】 1、前言2、实验环境3-1、问题说明-屏幕视频3-2、解决方式-个人总结解决思路&#xff1a;我们在软件启动的时候&#xff0c;先获取屏幕大小&#xff0c;然后根据长宽&#xff0c;按照一定比例&#xff0c;重新设置大小。并…

VMware17 不可恢复错误mks解决方案

用的虚拟机VMware17版本&#xff0c;然后运行带HDR的unity程序&#xff0c;结果报错 网上找了很多解决方案&#xff0c;都没用。毕竟需要在不放弃虚拟机3D加速的情况下运行。 最终皇天不负有心人&#xff0c;亲测有效的方法&#xff1a; 在虚拟机名字.vmx文件里添加以下2行&a…

URL 管理器

基本介绍 对外接口 对外提供两个接口&#xff1a;一个可以提取URL&#xff0c;一个可以增加URL&#xff0c;分别对应图上的1和2。 当要爬取某个网页时&#xff0c;则可以从1接口提取出该网页的URL进行爬取。 有时候爬取的网页内容中会包含别的网页链接&#xff0c;即包含有U…

网工内推 | 国企、上市公司,IA/IP认证即可,有年终、绩效

01 上海市机械设备成套&#xff08;集团&#xff09;有限公司 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、 负责公司电脑、网络设备、电器设备、办公设备等硬件的管理、维护和使用&#xff0c;做好计算机硬件及办公设备台帐&#xff1b; 2、 负责公司办公软件的…

回溯算法 解题思路

文章目录 算法介绍回溯算法能解决的问题解题模板1. 组合问题2. N皇后问题 算法介绍 回溯法&#xff08;Back Tracking Method&#xff09;&#xff08;探索与回溯法&#xff09;是一种选优搜索法&#xff0c;又称为试探法&#xff0c;按选优条件向前搜索&#xff0c;以达到目标…

zookeeper —— 分布式服务协调框架

zookeeper —— 分布式服务协调框架 一、Zookeeper概述1、Zookeeper的基本概念2、Zookeeper的特点3、Zookeeper的数据结构 二、Zookeeper的安装部署1、Zookeeper的下载2、Zookeeper的安装本地模式&#xff08;单机模式standalone&#xff09;安装部署分布式&#xff08;集群模式…

1978-2021年全国各省城镇与农村恩格尔系数数据

1978-2021年全国各省城镇与农村恩格尔系数数据 1、时间&#xff1a;1978-2021年 2、指标&#xff1a;城镇恩格尔系数、农村恩格尔系数 3、范围&#xff1a;31省市 4、来源&#xff1a;各省年鉴 5、用途&#xff1a;反应居民生活质量 6、指标解释&#xff1a; 恩格尔系数…

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

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

Java精品项目源码第61期垃圾分类科普平台(代号V061)

Java精品项目源码第61期垃圾分类科普平台(代号V061) 大家好&#xff0c;小辰今天给大家介绍一个垃圾分类科普平台&#xff0c;演示视频公众号&#xff08;小辰哥的Java&#xff09;对号查询观看即可 文章目录 Java精品项目源码第61期垃圾分类科普平台(代号V061)难度指数&…

【TCP】滑动窗口、流量控制 以及拥塞控制

滑动窗口、流量控制 以及拥塞控制 1. 滑动窗口&#xff08;效率机制&#xff09;2. 流量控制&#xff08;安全机制&#xff09;3. 拥塞控制&#xff08;安全机制&#xff09; 1. 滑动窗口&#xff08;效率机制&#xff09; TCP 使用 确认应答 策略&#xff0c;对每一个发送的数…

MySQL的常用术语

目录 1.关系 2.元组 3.属性 MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 1.关系 前面的博客有说到,MySQL是一款关系型数据库管理软件,一个关系就是 一张二维表(表) 我想大家都知道表格怎么…

【100天精通Python】Day61:Python 数据分析_Pandas可视化功能:绘制饼图,箱线图,散点图,散点图矩阵,热力图,面积图等(示例+代码)

目录 1 Pandas 可视化功能 2 Pandas绘图实例 2.1 绘制线图 2.2 绘制柱状图 2.3 绘制随机散点图 2.4 绘制饼图 2.5 绘制箱线图A 2.6 绘制箱线图B 2.7 绘制散点图矩阵 2.8 绘制面积图 2.9 绘制热力图 2.10 绘制核密度估计图 1 Pandas 可视化功能 pandas是一个强大的数…

Autojs 小游戏实践-神农百草园

概述 最近一直再写刷视频软件脚本&#xff0c;比如手机视频软件太多&#xff0c;每天都需要手动提现羊毛&#xff0c;太累&#xff0c;使用Autojs来帮助我提现&#xff0c;签到&#xff0c;扯远了&#xff0c;因为做刷视频脚本感觉有点无聊&#xff0c;所以试着做小游戏找图脚…

Openresty(二十二)ngx.balance和balance_by_lua终结篇

一 灰度发布铺垫 ① init_by_lua* init_by_lua init_by_lua_block 特点: 在openresty start、reload、restart时执行,属于master init 阶段机制&#xff1a; nginx master 主进程加载配置文件时&#xff0c;运行全局Lua VM级别上的参数指定的Lua代码场景&#xff1a; …

每日一题~二叉搜索树中的众数

题目链接&#xff1a;501. 二叉搜索树中的众数 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 思路分析&#xff1a; 由题可知&#xff0c;题目中所给的树是一颗二叉搜索树&#xff0c;二叉搜索树的中序遍历结果是一个从小到大的数据集&#xff0c;那么我们可…

「聊设计模式」之抽象工厂模式(Abstract Factory)

&#x1f3c6;本文收录于《聊设计模式》专栏&#xff0c;专门攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎持续关注&&收藏&&订阅&#xff01; 前言 在软件开发中&#xff0c;设计模式是一种被广泛使用的经验…

C++(day4)

思维导图 封装Mystring #include <iostream> #include<cstring>using namespace std;class Mystring{ public://无参构造函数Mystring():size(10){strnew char[size];strcpy(str,"");cout<<"无参构造函数"<<endl;}//有参构造函数…

平衡二叉树删除结点后的调整操作

1.回顾插入操作 插入新结点后&#xff0c;要保持二叉排序树的特性不变&#xff08;左<中<右)若插入新结点导致不平衡&#xff0c;则需要调整平衡。 2.删除操作 删除结点后&#xff0c;要保持二叉排序树的特性不变&#xff08;左<中<右)若删除结点导致不平衡&…

C++---链表

1、链表 1.1、链表的结构 每个链表开头都有一个头指针Head尾节点的指针域为NULL&#xff0c;用于判断此列表是否结束 如果一个链表开始就为NULL&#xff0c;那么该链表为空链表 链表中的先后不代表在真实内存中的位置&#xff0c;只是单纯的逻辑上关系 1.2、创建链表 我们首…