24-2-22学习总结

练习题

P8637 [蓝桥杯 2016 省 B] 交换瓶子

# [蓝桥杯 2016 省 B] 交换瓶子

## 题目描述

有 $N$ 个瓶子,编号 $1 \sim N$,放在架子上。

比如有 $5$ 个瓶子:

$$2,1,3,5,4$$

要求每次拿起 $2$ 个瓶子,交换它们的位置。

经过若干次后,使得瓶子的序号为:

$$1,2,3,4,5$$

对于这么简单的情况,显然,至少需要交换 $2$ 次就可以复位。

如果瓶子更多呢?你可以通过编程来解决。

## 输入格式

第一行:一个正整数 $N$($N<10000$),表示瓶子的数目。

第二行:$N$ 个正整数,用空格分开,表示瓶子目前的排列情况。

## 输出格式

输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。

## 样例 #1

### 样例输入 #1

```
5
3 1 2 5 4
```

### 样例输出 #1

```
3
```

## 样例 #2

### 样例输入 #2

```
5
5 4 3 2 1
```

### 样例输出 #2

```
2
```

## 提示

时限 1 秒, 256M。蓝桥杯 2016 年第七届省赛

蓝桥杯 2016 年省赛 B 组 I 题。

#include<bits/stdc++.h>
using namespace std;
const int MAX_INF = 0x3f3f3f3f;
const int M = 10001;
int ans, a[M], n;
int main()
{cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];}for (int i = 1; i <= n; i++){if (a[i] != i){ans++;for (int j = i+1; j <= n; j++){if (a[j] == i)swap(a[i], a[j]);}}}cout << ans;return 0;
}

P9230 [蓝桥杯 2023 省 A] 填空问题(没过)

# [蓝桥杯 2023 省 A] 填空问题

## 题目描述

## A. 幸运数

小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面一半的数位之和,则这个数是他的幸运数字。例如 $2314$ 是一个幸运数字,因为它有 $4$ 个数位,并且 $2+3=1+4$。现在请你帮他计算从 $1$ 至 $100000000$ 之间共有多少个不同的幸运数字。

## B. 有奖问答

小蓝正在参与一个现场问答的节目。活动中一共有 $30$ 道题目,每题只有答对和答错两种情况,每答对一题得 $10$ 分,答错一题分数归零。

小蓝可以在任意时刻结束答题并获得目前分数对应的奖项,之后不能再答任何题目。最高奖项需要 $100$ 分,所以到达 $100$ 分时小蓝会直接停止答题。

已知小蓝最终实际获得了 $70$ 分对应的奖项,请问小蓝所有可能的答题情况有多少种?

## 输入格式

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

您可以通过提交答案文件的方式进行提交。你需要将你的答案放在 `1.out` 和 `2.out` 中,其中 `1.out` 对应 A 题的答案,`2.out` 对应 B 题的答案。

输入文件包含一个字符,代表题目编号(`A` 或 `B`),你需要输出对应的答案。

以下模板供参考:

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

char pid;
int main() {
    cin >> pid;
    if(pid == 'A')
        puts("Answer for Problem A");
    else
        puts("Answer for Problem B");
    return 0;
}
```

## 输出格式

## 提示

第十四届蓝桥杯大赛软件赛省赛 C/C++ 大学 A 组 A-B

#include<bits/stdc++.h>
using namespace std;int ans, b[10];
void PA()
{for (int k = 1; k <= 100000000; k++){int g = 0, n = 0, m = k;for (; m; m /= 10){b[n++] = m % 10;}if (n & 1) continue;for (int i = 0; i < n >> 1; ++i) g += b[i];for (int i = n >> 1; i < n; ++i) g -= b[i];if (!g) ++ans;}printf("%d", ans);
}
int nn = 30, anss = 0, target = 70;
void dfs(int depth, int score) 
{if (depth > nn) return;if (score == 100) return;if (score == target) ++anss;dfs(depth + 1, score + 10);dfs(depth + 1, 0);
}
void PB()
{printf("%d", (dfs(0, 0), anss));}
char pid;
int main() {cin >> pid;if (pid == 'A'){PA();}else{PB();}return 0;
}

P8647 [蓝桥杯 2017 省 AB] 分巧克力

# [蓝桥杯 2017 省 AB] 分巧克力

## 题目描述

儿童节那天有 $K$ 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。

小明一共有 $N$ 块巧克力,其中第 $i$ 块是 $H_i \times W_i$ 的方格组成的长方形。

为了公平起见,小明需要从这 $N$ 块巧克力中切出 $K$ 块巧克力分给小朋友们。切出的巧克力需要满足:

1. 形状是正方形,边长是整数。

2. 大小相同。

例如一块 $6 \times 5$ 的巧克力可以切出 $6$ 块 $2 \times 2$ 的巧克力或者 $2$ 块 $3 \times 3$ 的巧克力。

当然小朋友们都希望得到的巧克力尽可能大,你能帮小 $H_i$ 计算出最大的边长是多少么?

## 输入格式

第一行包含两个整数 $N$ 和 $K$。$(1 \le N,K \le 10^5)$。

以下 $N$ 行每行包含两个整数 $H_i$ 和 $W_i$。$(1 \le H_i,W_i \le 10^5)$。

输入保证每位小朋友至少能获得一块 $1 \times 1$ 的巧克力。

## 输出格式

输出切出的正方形巧克力最大可能的边长。

## 样例 #1

### 样例输入 #1

```
2 10  
6 5  
5 6
```

### 样例输出 #1

```
2
```

## 提示

蓝桥杯 2022 省赛 A 组 I 题。

#include<bits/stdc++.h>
using namespace std;
const int M = 100001;
int k, n, a[M], b[M];
int func(int x)
{int ans = 0;for (int i = 0; i < n; i++){ans += (a[i] / x) * (b[i] / x);}return ans >= k;
}
int main()
{cin >> n >> k;for (int i = 0; i < n; i++){cin >> a[i] >> b[i];}int left = 1, right = 100000;while (left < right){int mid = (left + right + 1) / 2;if (func(mid))left = mid;elseright = mid - 1;}cout << left;}

L-shapes

# L-shapes

## 题面翻译

L形在网格纸上形如下面的前四张图片。L形正好包含三个阴影单元(用*表示),可以以任何方式旋转。

现给你一个矩形网格。确定它是否仅包含L形,其中L形不能接触边或角,也就是说网格中的每个阴影单元正好是一个L形的一部分,并且没有两个L形通过边或角相邻。

例如,上图中的最后两个网格不满足条件,因为两个L形分别通过角和边缘接触。


如果网格满足条件,则输出“YES”,否则输出“NO”。

## 题目描述

An L-shape is a figure on gridded paper that looks like the first four pictures below. An L-shape contains exactly three shaded cells (denoted by \*), which can be rotated in any way.

 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1722F/c4bb8e8c5c94521e87ed2d5ba5ef373384bb7be7.png)You are given a rectangular grid. Determine if it contains L-shapes only, where L-shapes can't touch an edge or corner. More formally:

- Each shaded cell in the grid is part of exactly one L-shape, and
- no two L-shapes are adjacent by edge or corner.

For example, the last two grids in the picture above do not satisfy the condition because the two L-shapes touch by corner and edge, respectively.

## 输入格式

The input consists of multiple test cases. The first line contains an integer $ t $ ( $ 1 \leq t \leq 100 $ ) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers $ n $ and $ m $ ( $ 1 \leq n, m \leq 50 $ ) — the number of rows and columns in the grid, respectively.

Then $ n $ lines follow, each containing $ m $ characters. Each of these characters is either '.' or '\*' — an empty cell or a shaded cell, respectively.

## 输出格式

For each test case, output "YES" if the grid is made up of L-shape that don't share edges or corners, and "NO" otherwise.

You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).

## 样例 #1

### 样例输入 #1

```
10
6 10
........**
.**......*
..*..*....
.....**...
...*.....*
..**....**
6 10
....*...**
.**......*
..*..*....
.....**...
...*.....*
..**....**
3 3
...
***
...
4 4
.*..
**..
..**
..*.
5 4
.*..
**..
....
..**
..*.
3 2
.*
**
*.
2 3
*..
.**
3 2
..
**
*.
3 3
.**
*.*
**.
3 3
..*
.**
..*
```

### 样例输出 #1

```
YES
NO
NO
NO
YES
NO
NO
YES
NO
NO
```

#include<bits/stdc++.h>
using namespace std;
int T, n, m, a[55][55];
char c;
void search(int i, int j)
{if (a[i + 1][j] && a[i + 1][j + 1] && !a[i - 1][j - 1] && !a[i - 1][j] && !a[i - 1][j + 1] &&!a[i][j - 1] && !a[i][j + 1] && !a[i][j + 2] && !a[i + 1][j - 1] && !a[i + 1][j + 2] &&!a[i + 2][j - 1] && !a[i + 2][j] && !a[i + 2][j + 1] && !a[i + 2][j + 2]) {a[i][j] = a[i + 1][j] = a[i + 1][j + 1] = 0;return;}if (a[i + 1][j - 1] && a[i + 1][j] && !a[i - 1][j - 1] && !a[i - 1][j] && !a[i - 1][j + 1] &&!a[i][j - 2] && !a[i][j - 1] && !a[i][j + 1] && !a[i + 1][j - 2] && !a[i + 1][j + 1] &&!a[i + 2][j - 2] && !a[i + 2][j - 1] && !a[i + 2][j] && !a[i + 2][j + 1]) {a[i][j] = a[i + 1][j - 1] = a[i + 1][j] = 0;return;}if (a[i][j + 1] && a[i + 1][j + 1] && !a[i - 1][j - 1] && !a[i - 1][j] && !a[i - 1][j + 1] &&!a[i - 1][j + 2] && !a[i][j - 1] && !a[i][j + 2] && !a[i + 1][j - 1] && !a[i + 1][j] &&!a[i + 1][j + 2] && !a[i + 2][j] && !a[i + 2][j + 1] && !a[i + 2][j + 2]) {a[i][j] = a[i][j + 1] = a[i + 1][j + 1] = 0;return;}if (a[i][j + 1] && a[i + 1][j] && !a[i - 1][j - 1] && !a[i - 1][j] && !a[i - 1][j + 1] &&!a[i - 1][j + 2] && !a[i][j - 1] && !a[i][j + 2] && !a[i + 1][j - 1] && !a[i + 1][j + 1] &&!a[i + 1][j + 2] && !a[i + 2][j - 1] && !a[i + 2][j] && !a[i + 2][j + 1]) {a[i][j] = a[i][j + 1] = a[i + 1][j] = 0;return;}
}
void solve()
{cin >> n >> m;memset(a, 0, sizeof(a));for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){cin >> c;if (c == '*')a[i][j] = 1;}}for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){if (a[i][j] == 1)search(i, j);}}for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){if (a[i][j] == 1){printf("NO\n");return;}}}printf("YES\n");
}
int main()
{cin >> T;while (T--)solve();return 0;
}

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

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

相关文章

RisingWave最佳实践-利用Dynamic filters 和 Temporal filters 实现监控告警

心得的体会 刚过了年刚开工&#xff0c;闲暇之余调研了分布式SQL流处理数据库–RisingWave&#xff0c;本人是Flink&#xff08;包括FlinkSQL和Flink DataStream API&#xff09;的资深用户&#xff0c;但接触到RisingWave令我眼前一亮&#xff0c;并且拿我们生产上的监控告警…

sql server想要小数点后向下取整怎么搞

select FORMAT(3.169, N2) as 四舍五入1, CAST(3.169 AS decimal(9,2)) as 四舍五入2, ROUND(3.169, 2) as 四舍五入3, CAST(FLOOR(3.169 * 100) / 100 AS decimal(9,2)) as 向下取整1, FLOOR(3.169 * 100) / 100 as 向下取整2, ceiling(3.169 * 100) / 100 as 向上取整—…

python 几种常见的音频数据读取、保存方式

1. soundfile 库的使用 soundfile库是一个Python库&#xff0c;主要用于读取和写入音频文件。它支持多种音频格式&#xff0c;包括WAV、AIFF、FLAC和OGG等。通过soundfile库&#xff0c;用户可以方便地将numpy数组存储到音频文件或者将音频文件加载到numpy数组中。此外&#x…

AI 视频 | Stable Video 开放公测了,免部署,免费使用!谁说 4 秒的 AI 视频不香?!

谁说 4 秒的视频不香&#xff1f;2.21 日&#xff0c;Stable Video 开放公测了&#xff0c;不需要自己部署了&#xff0c;直接在网页上就可以生成视频了。 下面这些视频&#xff0c;都是通过 Stable Video Diffusion 生成的&#xff0c;可以先来感受一下&#xff1a; Stable V…

IPsec、安全关联、网络层安全协议

网络层安全协议 IP 几乎不具备任何安全性&#xff0c;不能保证&#xff1a; 1.数据机密性 2.数据完整性 3.数据来源认证 由于其在设计和实现上存在安全漏洞&#xff0c;使各种攻击有机可乘。例如&#xff1a;攻击者很容易构造一个包含虚假地址的 IP 数据报。 IPsec 提供了标…

【PCL】(十三)使用KdTree查找点

【PCL】&#xff08;十三&#xff09;使用KdTree查找点 以下代码实现使用KdTree来查找特定点的K个最近邻点&#xff0c;以及查找指定的某个半径内的所有邻点。 kdtree_search.cpp&#xff1a; #include <pcl/point_cloud.h> #include <pcl/kdtree/kdtree_flann.h&g…

解析 Go 编程语言数据类型:bool、整数、浮点数和字符串详细介绍

数据类型 数据类型是编程中的重要概念。数据类型指定了变量值的大小和类型。Go是静态类型的&#xff0c;这意味着一旦变量类型被定义&#xff0c;它只能存储该类型的数据。 基本数据类型 Go 有三种基本数据类型&#xff1a; bool&#xff1a;表示布尔值&#xff0c;要么是t…

龙年开工第一周谈LLM和编程

文章主要内容来自redis的作者antirez对于使用LLM后的“获奖感言” 文章要点 0、与大型语言模型(LLM)协作&#xff0c;学会让其为简单问题提供答案&#xff0c;这样可以更高效地利用时间。 1、正确地向LLM提问是一项基本技能。 2、在与他人交流时&#xff0c;提高描述问题的能…

nginx服务基础用法(概念、安装、热升级)

目录 一、I/O模型概述 1、I/O概念 1.1 计算机的I/O 1.2 Linux的I/O 2、零拷贝技术 3、同步/异步&#xff08;消息反馈机制&#xff09; 4、阻塞/非阻塞 5、网络I/O模型 5.1 阻塞型 I/O 模型&#xff08;blocking IO&#xff09; 5.2 非阻塞型 I/O 模型 (nonblocking …

外包干了两个月,技术退步明显。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

SD-WAN云专线:优越性能助力企业云上腾飞

随着企业数字化转型的推进&#xff0c;SD-WAN云专线作为一项安全、高速、低延迟、稳定可靠的专属连接通道&#xff0c;正迅速崭露头角。该技术通过连接用户办公点、数据中心以及各类云环境&#xff0c;构建强大的网络基础设施&#xff0c;助力企业轻松实现跨域云网数据互通&…

Python实现XML文件转Excel

了解xml.etree.ElementTree https://zhuanlan.zhihu.com/p/502584681?utm_id0 实现代码 运行前请确保对应的库装好 # encoding: utf-8 import os import xml.etree.ElementTree as ET import pandas as pd from tqdm import tqdmfolder_path "C:/Users/Administrato…

uniapp微信小程序解决上方刘海屏遮挡

问题 在有刘海屏的手机上&#xff0c;我们的文字和按钮等可能会被遮挡 应该避免这种情况 解决 const SYSTEM_INFO uni.getSystemInfoSync();export const getStatusBarHeight ()> SYSTEM_INFO.statusBarHeight || 15;export const getTitleBarHeight ()>{if(uni.get…

AI副业项目分享

在上一篇文章《这才是大学生该做的副业&#xff0c;别再痴迷于游戏了&#xff01;》中&#xff0c;我分享了一些副业的想法&#xff0c;接着有不少同学问我&#xff1a;具体如何做&#xff1f;这是真把我给整蒙了&#xff0c;这里分享下我可以提供的产品和服务吧&#xff0c;并…

Vant轮播多个div结合二维数组的运用

需求说明 在开发H5的时候&#xff0c;结合Vant组件的轮播组件Swipe实现如下功能。我们查阅vant组件库官方文档可以得知&#xff0c;每个SwipeItem组件代表一个卡片&#xff0c;实现的是每屏展示单张图片或者单个div轮播方式&#xff0c;具体可以查阅&#xff1a;Vant 2 - 轻量、…

JavaScript基础和数据类型

【一】JavaScipt基础 【1】什么是JavaScript &#xff08;1&#xff09;定义 JavaScript最初由Netscape公司&#xff08;现在的Mozilla基金会&#xff09;的Brendan Eich在1995年创造。 JavaScript是一种广泛用于网页开发的脚本语言。 它是一种动态、解释性的语言&#xff…

什么是智能指针?请列举几种智能指针的类型,并说明其区别。

什么是智能指针&#xff1f;请列举几种智能指针的类型&#xff0c;并说明其区别。 智能指针是一种 C 标准库提供的高级指针类&#xff0c;它能够自动管理动态分配的内存资源&#xff0c;并在适当的时候释放该资源&#xff0c;从而避免内存泄漏和野指针等常见问题。智能指针的主…

Mysql中like %xxx% 模糊查询该如何优化

背景&#xff1a; 实际项目中&#xff0c;like %xxx%的情况其实挺多的&#xff0c;比如某个表单如果支持根据公司名进行搜索&#xff0c;用户一般都是输入湖南xxx有限公司中的xxx进行搜索&#xff0c;所以对于接口而言&#xff0c;就必须使用like %xxx%来支持&#xff0c;从而…

C#,入门教程(05)——Visual Studio 2022源程序(源代码)自动排版的功能动画图示

上一篇&#xff1a; C#&#xff0c;入门教程(04)——Visual Studio 2022 数据编程实例&#xff1a;随机数与组合https://blog.csdn.net/beijinghorn/article/details/123533838 新来的徒弟们交上来的C#代码&#xff0c;可读性往往很差。 今天一问才知道&#xff0c;他们居然不…

MIT6.S081学习——二、相关命令行整理

MIT6.S081学习——二、相关命令行整理 1 添加user代码到xv6中并编译2 git版本管理 1 添加user代码到xv6中并编译 问题&#xff1a;如何让在xv6中运行copy.c 答&#xff1a;在xv6中运行copy.c文件&#xff0c;你需要先将该文件添加到xv6源代码目录中&#xff0c;然后修改Makefil…