蓝桥杯刷题第二十天

news/2024/11/29 17:34:57/

第一题:纸张尺寸

问题描述
在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm ×841mm, 将 A0 纸 沿长边对折后为 A1 纸, 大小为 841mm × 594mm, 在对折的过程中长度直接取 下整 (实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸, 依此类推。
输入纸张的名称, 请输出纸张的大小。
输入格式
输入一行包含一个字符串表示纸张的名称, 该名称一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。
输出格式
输出两行,每行包含一个整数,依次表示长边和短边的长度。

样例输入 2

A1

样例输出 2

841
594

就是模拟,每次除二向下取整 floor

始终保存a > b即可

#include<iostream>
#include<math.h>
using namespace std;int main(){char op[2];cin>>op;double a = 1189, b = 841;int n = op[1] - '0';for(int i = 0; i < n; i++){a = floor(a / 2);if(a < b){int t = a;a = b;b = t;}}// cout<<floor(1.1)<<endl;         //向下取整// cout<<ceil(1.1)<<endl;         //向上取整// cout<<round(1.1)<<endl;        //四舍五入cout<<int(a)<<endl<<int(b)<<endl;return 0;
}

第二题:最大数字

问题描述
给定一个正整数 N 。你可以对 N 的任意一位数字执行任意次以下 2 种操 作:
将该位数字加 1 。如果该位数字已经是 9 , 加 1 之后变成 0 。
将该位数字减 1 。如果该位数字已经是 0 , 减 1 之后变成 9 。
你现在总共可以执行 1 号操作不超过 A 次, 2 号操作不超过 B 次。 请问你最大可以将 N 变成多少?
输入格式
第一行包含 3 个整数: N,A,B
输出格式
一个整数代表答案
对于 30% 的数据,1≤N≤100;0≤A,B≤10。
对于 100% 的数据, 1≤N≤1017;0≤A,B≤100

样例输入

123 1 2

样例输出

933

dfs, 从高位到低位考虑每个位置

高位能变大,就使用操作尽可能变大,所得到的数就能最大

记得回溯,还有数据范围

#include<iostream>
using namespace std;typedef long long LL;
string str;
int n, m;
LL ans = 0;void dfs(int i, LL v){//考虑每个位置int x = str[i] - '0';      if(str[i]){//操作1的 操作次数int t = min(n, 9 - x);n -= t;dfs(i + 1, v * 10 + x + t);//回溯n += t;//考虑操作2 是否可以if(m > x){m -= x + 1;dfs(i + 1, v * 10 + 9);//回溯m += x + 1;   }}elseans = max(ans, v);
}int main(){cin>>str>>n>>m;dfs(0, 0);    cout<<ans<<endl;return 0;
}

第三题:全排列的价值

全排列的价值 - 蓝桥云课 (lanqiao.cn)

推公式,数学问题

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll mod = 998244353;int main () {ll n; cin >> n;ll ans = 1;//计算 阶乘除以2for(int i = 3; i <= n; i++) {//从3开始是因为在这一步直接将2除掉了, 避免除法ans = (ans * i) % mod;}//乘以C(2, n)ans = (ans * ((n * (n - 1) / 2) % mod)) % mod;cout << ans << endl;return 0;
}

http://www.ppmy.cn/news/34629.html

相关文章

如何在 Vue 中使用 防抖 和 节流

大厂面试题分享 面试题库前后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面试题库 https://mp.weixin.qq.com/s?__bizMzU5NzA0NzQyNg&mid2247485824&idx3&sn70cd26a7c0c683de64802f6cb9835003&scene21#wech…

WPF毛笔字实现过程

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

【面试】-- Hive高频面试题目

一、请描述一下数据倾斜,并提供解决方案?  定义:由于数据分布不均匀,导致大量数据集中到一点,造成数据热点。现象是100个 task, 有一个运行了 1个小时,其他99个只有 10分钟。本质是数据量太大。原因:key 分布不均匀、sql倾斜join、建表时类型有问题算子:count、dist…

蓝桥杯每日一真题—— [蓝桥杯 2021 省 AB2] 完全平方数(数论,质因数分解)

文章目录[蓝桥杯 2021 省 AB2] 完全平方数题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2提示思路&#xff1a;理论补充&#xff1a;完全平方数的一个性质&#xff1a;完全平方数的质因子的指数一定为偶数最终思路&#xff1a;小插曲&am…

Nginx可视化管理工具 - Nginx Proxy Manager

一、介绍 nginx-proxy-manager 是一个反向代理管理系统,它基于Nginx,具有漂亮干净的 Web UI。还可以获得受信任的 SSL 证书,并通过单独的配置、自定义和入侵保护来管理多个代理。 其官网地址如下: https://nginxproxymanager.com/ 二、安装 第一步:192.168.1.108服务…

五.ElasticSearch的基础+实战

五.ElasticSearch的基础+实战 1.Elasticsearch的是什么? 2.Elasticsearch的作用是什么? 3.Elasticsearch的核心思想? 4.Elasticsearch启动与简单使用 5.kibana结合elasticsearch实现简单的增删改查 6.elasticsearch安装中文分词器 7.elasticsearch结合springboot开发…

STM32 ADC+定时器+DMA+FFT

本次实现的功能为单片机DAC输出一个正弦波&#xff0c;然后ADC定时采样用DMA输出&#xff0c;最后对DAC输出的波形进行FFT。单片机STM32F103ZET6内部时钟一、配置ADCADC端口为PA1&#xff0c;采用DMA输出&#xff0c;定时器3触发定时器时钟64M&#xff0c;分频后为102.4KHzADC采…

typescript(元组、枚举、类、泛型)

元组 数组合并了相同类型的对象&#xff0c;而元组&#xff08;Tuple&#xff09;合并了不同类型的对象 // 数组 let arr:number[] [1,2] // 元组 let arr1:[string,number][1,2] // 但是使用联合类型/类型别名 同样可以实现元组的效果 // 区别是元组对每一项进行类型约束 …