蓝桥杯:真题讲解2(C++版)附带解析

星系炸弹

来自:2015年六届省赛大学B组真题(共6道题)

分析:这题涉及到平年和闰年的知识,如果我们要解这题,首先要知道每月有多少天,其实也就是看2月份的天数,其它月份的天数都是一样的,只有2月有点不同。

平年的2月有28天,闰年2月有29天,搞定如何判断平年和闰年,这题也就好解了。

闰年满足的条件:

  • 能被4整除且不能被100整除
  • 或者能被400整除

 不是闰年就是平年。

代码演示:

bool is_run(int year)
{
	if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) return true;
	else return false;
}

接下来我们模拟题意即可:

#include <bits/stdc++.h>
using namespace std;
int main()
{
  // 请在此输入您的代码
  int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  int y=2014,m=11,d=9;
  for(int i=0;i<1000;i++){
  	if((y%4==0&&y%100!=0) || (y%400==0)) mon[2]=29;
  	else mon[2]=28;
  	d++;
  	if(d>mon[m]){
  		d=1;
  		m++;
	  }
	  if(m>12){
	  	y++;
	  	m=1;  
		//这里不用写d=1,上面已经判断过了。 
	  }
  }
  printf("%04d-%02d-%02d",y,m,d);
  return 0;
}

移动距离

来自:2015年六届省赛大学B组真题(共6道题)

分析:实际上就是求两点间的距离

距离公式:点(x1,y1)到(x2,y2)的距离:|x1-x2|+|y1-y2|

解决方案:

我们还有一个问题,就是数列的排序是按照蛇形来排序的,那我们怎么处理有反向的数列呢,我们经过短暂的思考,立马给出了解决方案,先按照正常的方式来求,到了最后,我们发现当(x%2)==1 的时候,数的顺序是反的,然后我们就能调整了。

代码:

#include <bits/stdc++.h>
using namespace std;

int w, m, n;
int main() {
	scanf("%d%d%d", &w, &m, &n);

	m --;
	n --;//将两个数都进行减1操作
	int x1 = m / w, y1 = m % w;//求得正常排序下的,当前数的坐标
	int x2 = n / w, y2 = n % w;

	if (x1 % 2 ==1) y1 = w - y1 - 1;//标记反向数列的纵坐标
	if (x2 % 2 ==1) y2 = w - y2 - 1;//标记反向数列的纵坐标

	cout << abs(x1 - x2) + abs(y1 - y2) << endl;//曼哈顿距离公式

	return  0;
}

煤球数目

来自:2016年七届省赛大学B组真题(共6道题)

分析:找规律即可,第零层到第一层+1,第一层到第二层+2,第二层到第三层加+3,第三层到第四层+4,以此类推。

代码:

#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  int sum=0,d=0;

  for(int i=1;i<=100;i++){
    d+=i;    //累积d的值,因为它的规律是+2 、 +3 、+4。
    sum+=d;
  }
  cout << sum;
  return 0;
}

生日蜡烛

分析:直接2层for循环暴力即可。

代码:

#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  int i;
  for (i = 0; i < 100; i++) {   //i<100就行了,搞个大概就ok。
    int sum = 0;
    for (int j = i; j < 100; j++) {
      sum += j;
      if (sum == 236) break;
    }
    if (sum == 236) break;
  }
  cout << i;
  return 0;
}

四平方和

来自:2016年七届省赛大学B组真题(共6道题)

先用暴力求解,代码:

#include <bits/stdc++.h>
using namespace std;
int main()
{
  // 请在此输入您的代码
  long long N;
  cin >> N;

  for(int i=0;i<=N;i++){
    for(int j=0;j<=N;j++){
      for(int k=0;k<=N;k++){
        for(int m=0;m<=N;m++){
          if(i*i+j*j+k*k+m*m == N){
            int a[4]={0};
            a[0]=i;
            a[1]=j;
            a[2]=k;
            a[3]=m;
            sort(a,a+4);   
            cout << a[0] << " " << a[1] << " " << a[2] << " " << a[3];
            return 0;
          }
        }
      }
    }
  }
  return 0;
}

运行后只能过62.5%的测试数据,下面改进一下代码:

#include <bits/stdc++.h>
using namespace std;
int main() {
	long long n,a,b,c,d;

	cin>>n;
	long long s=sqrt(n)+1;  //习惯上+1,不加也是正确的,每个正整数到不了一半。

	for(a=0; a<=s; a++) { //注意以下每个for循环前边初值继承上一循环体的值,保证从小到大的顺序
		for(b=a; b<=s; b++) {
			for(c=b; c<=s; c++) {
				for(d=c; d<=s; d++) {
					if(a*a + b*b + c*c + d*d == n) {
						cout<<a<<" "<<b<<" "<<c<<" "<<d;
						return 0;
					}
				}
			}
		}
	}
	return 0;
}


交换瓶子

来自:2016年七届省赛大学B组真题(共6道题)

代码(注释中标明了代码含义):

#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  int a[10010];
  int n,res=0;
  cin >> n;
  for(int i = 1; i<=n;i++){
    cin >> a[i];
  }
  for(int i = 1;i <=n;i++){
    while(a[i]!=i){
      swap(a[i],a[a[i]]);           //瓶子是有序排放的,所以下标为1的位置就应该放1号
      res++;
    }
  }
  cout << res;
  return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

飞行机器人专栏(十三)-- 智能优化算法之粒子群优化算法与多目标优化

一、理论基础 1.1 引言 粒子群优化算法&#xff08;Particle Swarm Optimization, PSO&#xff09;自1995年由Eberhart和Kennedy提出以来&#xff0c;已经成为解决优化问题的一种有效且广泛应用的方法。作为一种进化计算技术&#xff0c;PSO受到社会行为模式&#xff0c;特别是…

金南瓜SECS/GEM如何添加工程?

公开资料皆为是2、3年前版本 编译SecsEquip.dll依赖库 ① 打开示例程序中的SecsEquip项目 ② 选中SecsEquip工程&#xff0c;右键选择属性 如果没有“解决方案资源管理器”页面&#xff0c;可以从菜单的“视图”->“解决方案资源管理器”打开 ③ 选择跟设备相同的NET版本…

2月24日(周六)比赛前瞻:曼联 VS 富勒姆、拜仁 VS 莱比锡

大家好&#xff0c;博主将持续更新胜负14场前瞻&#xff0c;此处每日赛事间歇更新&#xff0c;胃信号每日更新。 精选赛事&#xff1a;曼联 VS 富勒姆 曼联近期状态显著提升&#xff0c;上一轮联赛客场2-1战胜卢顿&#xff0c;连续7场正赛取得6胜1平的成绩&#xff0c;保持不败…

基于JAVA的二手车交易系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手车档案管理模块2.3 车辆预约管理模块2.4 车辆预定管理模块2.5 车辆留言板管理模块2.6 车辆资讯管理模块 三、系统设计3.1 E-R图设计3.2 可行性分析3.2.1 技术可行性分析3.2.2 操作可行性3.2.3 经济…

K8S-001-Virtual box - Network Config

A. 配置两个IP&#xff0c; 一个连接内网&#xff0c;一个链接外网: 1. 内网配置(Host only&#xff0c; 不同的 virutal box 的版本可以不一样&#xff0c;这些窗口可能在不同的地方&#xff0c;但是配置的内容是一样的): 静态IP 动态IP 2. 外网&#xff08;创建一个 Networ…

六、回归与聚类算法 - 模型保存与加载

目录 1、API 2、案例 欠拟合与过拟合线性回归的改进 - 岭回归分类算法&#xff1a;逻辑回归模型保存与加载无监督学习&#xff1a;K-means算法 1、API 2、案例

__proto__和protype的区别

概述&#xff1a; prototype 函数静态属性&#xff0c;非实例属性,所有实例都可以继承它 __proto__ 实例属性&#xff0c;指向实例的原型对象&#xff0c;原型对象包括构造函数和protype属性 替代 现代浏览器中可以使用Object.getPrototypeOf()来替代__proto__来获取原型对象 …

EasyRecovery2024永久免费版手机数据恢复软件功能全面介绍

一、功能概述 EasyRecovery手机数据恢复软件是一款专为移动设备设计的数据恢复工具。它能够有效地从智能手机、平板电脑等移动设备中恢复因各种原因丢失的数据&#xff0c;包括但不限于误删除、格式化、系统崩溃、病毒感染等。 EasyRecovery-mac最新版本下载:https://wm.maked…

红日靶场3

靶场链接&#xff1a;漏洞详情 在虚拟机的网络编辑器中添加两个仅主机网卡 信息搜集 端口扫描 外网机处于网端192.168.1.0/24中&#xff0c;扫描外网IP端口&#xff0c;开放了80 22 3306端口 80端口http服务&#xff0c;可以尝试登录网页 3306端口mysql服务&#xff0c;可…

Java最全面试总结——6.Springboot篇

1、为什么要用SpringBoot Spring Boot 优点非常多&#xff0c;如&#xff1a; 一、独立运行 Spring Boot而且内嵌了各种servlet容器&#xff0c;Tomcat、Jetty等&#xff0c;现在不再需要打成war包部署到容器 中&#xff0c;Spring Boot只要打成一个可执行的jar包就能独立运行…

MATLAB:数组与矩阵

2.1 数组运算 数组运算时MATLAB计算的基础。由于MATLAB面向对象的特性&#xff0c;这种数值数组称为MATLAN最重要的一种内建数据类型&#xff0c;而数组运算就是定义这种数据结果的方法。 2.1.1 数组的创建和操作 在MATLAB中一般使用方括号“[]”、逗号“,”、空格和分号“;…

常见的10种算法

数据结构 研究的内容&#xff1a;就是如何按一定的逻辑结构&#xff0c;把数据组织起来&#xff0c;并选择适当的存储表示方法把逻辑结构组织好的数据存储到计算机的存储器里。 算法 研究的目的&#xff1a;是为了更有效的处理数据&#xff0c;提高数据运算效率。数据的运算是定…

mysql-MVCC

一、基础概念 1. MVCC的含义 MVCC (Multiversion Concurrency Control)&#xff0c;即多版本并发控制技术&#xff0c;它是通过读取某个时间点的快照数据&#xff0c; 来降低并发事务冲突而引起的锁等待&#xff0c; 从而提高并发性能的一种机制. MVCC 的实现,是通过保存数据…

Redis高性能原理

redis大家都知道拥有很高的性能&#xff0c;每秒可以支持上万个请求&#xff0c;这里探讨下它高性能的原理。单线程架构和io多路复用技术。 一&#xff0c;单线程架构 单线程架构指的是命令执行核心线程是单线程的&#xff0c;数据持久化、同步、异步删除是其他线程在跑的。re…

【实战篇】Redis单线程架构的优势与不足

前言 01 Redis中的多线程02 I/O多线程03 Redis中的多进程问题 04 结论 很多人都遇到过这么一道面试题&#xff1a;Redis是单线程还是多线程&#xff1f;这个问题既简单又复杂。说他简单是因为大多数人都知道Redis是单线程&#xff0c;说复杂是因为这个答案其实并不准确。 难道R…

K8S部署Java项目 pod报错 logs日志内容:no main manifest attribute, in app.jar

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

2001~2023年中国MOD17A3HGF NPP数据

各位同学们好&#xff0c;今天和大伙儿分享的是2001~2023年中国MOD17A3HGF NPP数据。如果大家有下载处理数据等方面的问题&#xff0c;请私信或评论。 Running, S., M. Zhao. <i>MODIS/Terra Net Primary Production Gap-Filled Yearly L4 Global 500m SIN Grid V061<…

PCIe P2P DMA全景解读

温馨提醒&#xff1a;本文主要分为5个部分&#xff0c;总计4842字&#xff0c;需要时间较长&#xff0c;建议先收藏&#xff01; P2P DMA简介 P2P DMA软硬件支持 CXL P2P DMA原理差异 P2P DMA应用场景 P2P DMA技术挑战 一、P2P DMA简介 P2P DMA&#xff08;Peer-to-Peer…

【常见工具】深度学习环境安装vncserver

Ubuntu VNC 安装/使用/故障解决 看这一篇就够了 1.xstartup #!/bin/shunset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS /etc/X11/xinit/xinitrc # Assume either Gnome or KDE will be started by default when installed # We want to kill the session automaticall…

做抖店需要自备资金吗?2024抖店入驻流程,相关问题解答

我是王路飞。 先说在最前面&#xff0c;抖音小店的开通和运营都需要自备资金。 一方面是开店时的店铺保证金营业执照代办费用&#xff0c;另一方面就是店铺运营阶段的周转资金软件使用费用等等。 如果你想在2024年开通一家抖音小店的话&#xff0c;这篇文章就不能错过了。 …