蓝桥杯(C++ 矩形总面积 错误票据 分糖果1 三国游戏 分糖果2)

目录

一、矩形总面积 

思路:

代码: 

 二、错误票据

思路:

代码: 

 三、分糖果1

思路:

代码:

四、三国游戏

思路:

代码: 

五、分糖果2

思路:

代码:

一、矩形总面积 

思路:

1、分四种情况为没有重叠 (x[2] < x[3] || y[2] < y[3] || x[4] < x[1] || y[4] < y[1]),这种情况下输出为两矩形面积之和。

2、重叠的情况下输出为两个矩形的面积之和减去重叠面积之和。

3、重叠面积:

              长为:小的右上角坐标减去大的左下角坐标

              宽为:小的右上角坐标减去大的左下角坐标

              面积:长×宽

代码: 

#include <iostream>
using namespace std;
int main()
{long long x[5], y[5];for (int i = 1; i <= 4; i++)cin >> x[i] >> y[i];long long ans = (x[2] - x[1]) * (y[2] - y[1]) + (x[4] - x[3]) * (y[4] - y[3]);if (x[2] < x[3] || y[2] < y[3] || x[4] < x[1] || y[4] < y[1])//完全不重叠cout << ans;else{long long a = abs(max(x[1], x[3]) - min(x[2], x[4]));long long b = abs(max(y[1], y[3]) - min(y[2], y[4]));cout << ans - a * b;}return 0;
}

 二、错误票据

思路:

1、用数组下标来表示数,记录数出现的次数。

2、记录最小,最大值,从最小到最大遍历

3、等于0,则为断号ID;等于1,则出现一次;超过1,则为重号ID。

代码: 

#include <iostream>
using namespace std;
int main()
{int a[10010] = { 0 };int n, temp, max=0, min=1e9;cin >> n;while (n--){while (cin >> temp){if (temp > max)max = temp;if (temp < min)min = temp;a[temp]++;}}int m, d;for (int i = min; i <= max; i++){if (a[i] == 0)m = i;else if (a[i] > 1)d = i;}cout << m << " " << d;
}

 三、分糖果1

思路:

1、将字符串从小到大排序

2、相差度要尽量小,分为三种情况

3、第一种:全都一样,则分成x组,奇数则后面的多加一个

      第二种:第x个与第一个一样,则从第x个到最后

      第三种:第1个到第x个都不一样,输出第x个

代码:

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{int n, x;cin >> n >> x;char s[1000010];for(int i=1;i<=n;i++)cin >> s[i];sort(s+1, s + n+1 );//for (int i = 1; i <= n; i++)//cout << s[i];if (s[1] == s[n])//全都一样,则分成x组,奇数则后面的多加一个{int cnt;if (n % x == 0)cnt = n / x;elsecnt = n / x + 1;for (int i = 1; i <= cnt; i++)cout << s[i];}else if (s[x] == s[1])//第x个与第一个一样,则从第x个到最后{for (int i = x; i <= n; i++)cout << s[i];}else//输出第x个cout << s[x];
}

四、三国游戏

思路:

1、分三种情况:x赢,y赢,z赢

2、分三种情况排序,第一种根据x和(y+z)的差值排序,第二种根据y和(x+z)的差值排序,第三种根据z和(x+y)的差值排序

3、遍历,求出最大ans,没有则输出-1

代码: 

#include <iostream>
#include <algorithm>
using namespace std;
struct node
{int x, y, z;
}a[100010];
bool cmp1(node a, node b)//根据x 和(y+z)的差值排序
{return a.x - (a.y + a.z) > b.x - (b.y + b.z);
}
bool cmp2(node a, node b)//根据y 和(x+z)的差值排序
{return a.y - (a.x + a.z) > b.y - (b.x + b.z);
}
bool cmp3(node a, node b)//根据z 和(x+y)的差值排序
{return a.z - (a.y + a.x) > b.z - (b.y + b.x);
}
int main()
{int n;cin >> n;long long ans = -1, sum1 = 0, sum2 = 0;for (int i = 0; i < n; i++)cin >> a[i].x;for (int i = 0; i < n; i++)cin >> a[i].y;for (int i = 0; i < n; i++)cin >> a[i].z;sort(a, a + n, cmp1);//x赢for (int i = 0; i < n; i++){sum1 += a[i].x;sum2 += a[i].y + a[i].z;if (sum1 > sum2 && ans <= i + 1)ans = i + 1;}sum1 = 0, sum2 = 0;sort(a, a + n, cmp2);//y赢for (int i = 0; i < n; i++){sum1 += a[i].y;sum2 += a[i].x + a[i].z;if (sum1 > sum2 && ans <= i + 1)ans = i + 1;}sum1 = 0, sum2 = 0;sort(a, a + n, cmp3);//z赢for (int i = 0; i < n; i++){sum1 += a[i].z;sum2 += a[i].y + a[i].x;if (sum1 > sum2 && ans <= i + 1)ans = i + 1;}cout << ans;
}

五、分糖果2

思路:

1、模拟传递糖果,分发糖果

2、每个小朋友每轮过后手上糖果数量为a[i] = a[i] / 2 + a[i + 1] / 2,最后一个小朋友的为a[n] = a[n] / 2 + a[1]/2;

3、循环,直到所有小朋友糖果都一样,跳出循环

代码:

#include<iostream>
using namespace std;
int main()
{int n;cin >> n;int a[105];int ans = 0;for (int i = 1; i <= n; i++)cin >> a[i];while (1){int temp = a[1] / 2;for (int i = 1; i < n; i++){a[i] = a[i] / 2 + a[i + 1] / 2;}a[n] = a[n] / 2 + temp;int flag = 1;for (int i = 1; i <= n; i++){if (a[i] != a[1]){flag = 0;}if (a[i] % 2 == 1){a[i] += 1;ans++;}}if (flag == 1)break;}cout << ans;
}

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

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

相关文章

uniapp 微信小程序自带实时线上日志

找个位置建上js文件 var log wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : nullmodule.exports {info() {if (!log) returnlog.info.apply(log, arguments)},warn() {if (!log) returnlog.warn.apply(log, arguments)}, error() {if (!log) returnlog.error.a…

2018年认证杯SPSSPRO杯数学建模C题(第二阶段)机械零件加工过程中的位置识别全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 基于轮廓提取与图像配准的零件定位问题研究 C题 机械零件加工过程中的位置识别 原题再现&#xff1a; 在工业制造自动生产线中&#xff0c;在装夹、包装等工序中需要根据图像处理利用计算机自动智能识别零件位置&#xff0c;并由机械手将零件…

访问者模式介绍

目录 一、访问者模式介绍 1.1 访问者模式定义 1.2 访问者模式原理 1.2.1 访问者模式类图 1.2.2 模式角色说明 二、访问者模式的应用 2.1 需求说明 2.2 需求实现 2.2.1 V1版本 2.2.1.1 抽象产品类 2.2.1.2 糖果类 2.2.1.3 酒水类 2.2.1.4 水果类 2.2.1.5 访问者接口…

随笔03 笔记整理

图源&#xff1a;文心一言 关于我的考研与信息安全类博文整理~&#x1f95d;&#x1f95d; 第1版&#xff1a;整理考研类博文~&#x1f9e9;&#x1f9e9; 第2版&#xff1a;提前列出博文链接&#xff0c;以便小伙伴查阅~&#x1f9e9;&#x1f9e9; 第3版&#xff1a;整理We…

上海亚商投顾:沪指探底回升 大金融板块午后走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 指昨日探底回升&#xff0c;深成指、创业板指午后跌超1%&#xff0c;尾盘集体拉升翻红&#xff0c;北证50指数涨…

一万六千字大章:Chrome 浏览器插件 V3 版本 Manifest.json 文件全字段解析

Chrome 浏览器插件 V3 版本 Manifest.json 文件全字段解析 Manifest.json 文件格式 每个扩展程序的根目录中都必须有一个 manifest.json 文件&#xff0c;其中列出了有关该扩展程序的结构和行为的重要信息。 1、Demo 展示 1. 最小文件 {"manifest_version": 3,&quo…

2024哪些跨境电商平台值得做?

时代的巨变在2023年尤其明显&#xff0c;这一年随着全球化进程的加深&#xff0c;跨境出海处于“高景气”阶段。为了在跨境出海浪潮中保有稳定的地位甚至获得增长&#xff0c;跨境人最需要关注的是哪个跨境电商平台成为大势&#xff0c;用户所选择的平台是什么&#xff1f;在跨…

echarts图表

所谓图表就是用来统计一些数据的&#xff0c;图表有很多种&#xff0c;有折线图、柱状图、饼状图、散点图等等多种多样的样式&#xff0c;我们可以根据自身需求来选择。 我们在用的时候是要先下载的&#xff0c;我们可以直接搜echarts官网&#xff0c;里面有快速入门&#xff…

select...in在mybatis里使用(巨坑!!)

情景&#xff1a;最近遇到了一个bug&#xff1a; 在DAO层里的这个sql语句&#xff0c;传入的参数没问题&#xff0c;在mysql里面查询也查询到了数据&#xff0c;为什么在dao层执行的时候查到数据不完整甚至没有呢&#xff1f; 主要原因&#xff1a; Mybatis 在 处理#{}时&…

STM32 基本定时器反转LED

引脚是什么为什么要初始化引脚&#xff1f; 在嵌入式系统中&#xff0c;引脚是微控制器或微处理器上的物理引脚&#xff0c;用于连接外部设备、传感器或其他芯片。每个引脚都有特定的功能和用途&#xff0c;例如输入、输出、模拟输入、电源供应等。STM32F103C8T6引脚图&#xf…

2018年认证杯SPSSPRO杯数学建模B题(第二阶段)动态模糊图像全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 动态模糊图像复原 B题 动态模糊图像 原题再现&#xff1a; 人眼由于存在视觉暂留效应&#xff0c;所以看运动的物体时&#xff0c;看到的每一帧画面都包含了一段时间内 (大约 1/24 秒) 的运动过程&#xff0c;所以这帧画面事实上是模糊的。对…

C++入门学习(一)写一个helloworld

1、头文件 #include <iostream> using namespace std; 任何程序都需要这两句的&#xff0c;写上就好。 2、主文件 int main() {cout<<"Hello World!"<<endl;return 0; } 由于是int型数据&#xff0c;所以要返回一个值&#xff0c;即return0。…

JVM:垃圾回收机制(GC)

垃圾判断&#xff1a; 引用计数算法&#xff1a; 在对象中添加一个引用计数器&#xff0c;当每有一个地方引用它时&#xff0c;计数器值加一。当引用失效时&#xff0c;计数器值就减一。当一个对象的计数器为零时&#xff0c;表示该对象没有被任何其他对象引用&#xff0c;因此…

【动态规划】【数学】【C++算法】18赛车

作者推荐 视频算法专题 本文涉及知识点 动态规划 数学 LeetCode818赛车 你的赛车可以从位置 0 开始&#xff0c;并且速度为 1 &#xff0c;在一条无限长的数轴上行驶。赛车也可以向负方向行驶。赛车可以按照由加速指令 ‘A’ 和倒车指令 ‘R’ 组成的指令序列自动行驶。 当…

mycat实现mysql读写分离

一. mycat集群HaproxyKeepalived mycat集群HaproxyKeepalivedmysql1主2从 环境规划 centos7.9 1主2从&#xff0c;读写分离 名称ip端口mysql-master192.168.1.2203306mysql-slave1192.168.1.2213306mysql-slave2192.168.1.2223306mycat-1192.168.1.2218066mycat-2192.168.1.…

Redis集群搭建

为什么要有集群 之前我们已经讲了主从的概念&#xff0c;一主可以多从&#xff0c;如果同时的访问量过大(1000w),主服务肯定就会挂掉&#xff0c;数据服务就挂掉了或者发生自然灾难 大公司都会有很多的服务器(华东地区、华南地区、华中地区、华北地区、西北地区、西南地区、东…

Android Studio读写低频RFID T5557卡源码

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?id675212889085&spma1z10.5-c.w4002-21818769070.13.21166f89nKgnJ7 <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xml…

【Docker】实战多阶段构建 Laravel 镜像

作者主页&#xff1a; 正函数的个人主页 文章收录专栏&#xff1a; Docker 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01; 本节适用于 PHP 开发者阅读。Laravel 基于 8.x 版本&#xff0c;各个版本的文件结构可能会有差异&#xff0c;请根据实际自行修改。 准备 新…

webpack面试题学习

说说你对webpack的理解&#xff1f;解决了什么问题&#xff1f; 说说webpack的构建流程? 说说webpack中常见的Loader&#xff1f;解决了什么问题&#xff1f; 说说webpack中常见的Plugin&#xff1f;解决了什么问题&#xff1f; 说说Loader和Plugin的区别&#xff1f;编写Load…

leetcode 013二维区域和检索---矩阵不可变

给定一个二维矩阵 matrix&#xff0c;以下类型的多个请求&#xff1a; 计算其子矩形范围内元素的总和&#xff0c;该子矩阵的左上角为 (row1, col1) &#xff0c;右下角为 (row2, col2) 。 实现 NumMatrix 类&#xff1a; NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进…