ACM第一讲总结

news/2025/1/23 23:14:15/文章来源:https://www.cnblogs.com/1zz2/p/18688761

第一题:

先打印‘L’,然后用一个循环语句打印‘o’,最后打印“ng”即可。
代码如下:

#include<iostream>
using namespace std;
int main()
{int N;cin >> N;cout << 'L';for (int i = 0; i < N; i++)cout << 'o';cout << "ng" << endl;return 0;
}

第二题:

因为题目给出的数据很大,可以当作字符串存入。又因为单双数的判断取决于最末尾一个数,所以可以直接判断字符串中最末尾的数是单数还是双数。
代码如下:

#include<iostream>
using namespace std;int main() {int N;cin >> N;string arr;for (int i = 0; i < N; i++){cin >> arr;if ((arr[arr.length() - 1] - '0') % 2)cout << "odd" << endl;elsecout << "even" << endl;}return 0;
}

第三题:

题目的意思是每轮提问都要有从A到G难度的问题,只需将每个不同难度的问题都记录下个数再和提问次数m进行比较,个数大于等于m的不管,而小于m的,则记录相差的个数然后再进行累加即可得到答案。
代码如下:

#include<iostream>
using namespace std;int main() {int N;cin >> N;string arr;for (int i = 0; i < N; i++){int n, m;cin >> n >> m;cin >> arr;int count[7] = { 0 };for (int j = 0; j < n; j++){count[arr[j] - 'A']++;}int ans = 0;for (int j = 0; j < 7; j++){if (count[j] < m)ans += m - count[j];}cout << ans << endl;}return 0;
}

第五题:

可以输入读取三个整数 n, m, k。其中 n 居民数,m 表示天数,k 指定规则。初始化计数器 count 为0,用于记录满足条件的天数。遍历每一行,使用外层循环遍历每一行(共 m 行)。对于每一行,初始化一个计数器 countk 为0,用于记录当天 k 遵守次数。遍历每一列,使用内层循环遍历当前行的每个元素(共 n 个居民)。读取每个元素的值 p,并检查其是否等于目标值 k。如果是,则将 countk 增加1。检查条件:在内层循环结束后,检查 countk * 2 >= n。如果条件成立,则将 count 增加1。计算最终结果:外层循环结束后,将 count 乘以2,因为题目要求满足条件的行数需要占总行数的一半或更多。检查 count 是否大于或等于 m。如果是,则输出 "YES";否则输出 "NO"。
代码如下:

#include <iostream>
using namespace std;int main()
{int n, m, k;cin >> n >> m >> k;int count = 0;for (int i = 0; i < m; i++){int countk = 0;for (int j = 0; j < n; j++){int p;cin >> p;if (p == k)countk++;}if (countk * 2 >= n)count++;}count *= 2;if (count >= m)cout << "YES" << endl;elsecout << "NO" << endl;return 0;
}

第六题:

首先读取整数 N,表示字符串的长度然后读取字符串 S。接着读取整数 T,表示接下来有 T 次字符替换操作。对于每次替换操作,读取两个字符 op1 和 op2。如果 op1 和 op2 相同,则跳过这次操作(因为不需要做任何替换)。否则,遍历字符串 S,将所有等于 op1 的字符替换为 op2。最后输出经过所有替换操作后的字符串 S。
代码如下:

#include <iostream>
using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int N;cin >> N;string S;cin >> S;int T;cin >> T;for (int i = 0; i < T; i++){char op1, op2;cin >> op1 >> op2;if (op1 == op2)continue;for (char& c : S){if (c == op1){c = op2;}}}cout << S << endl;return 0;
}

第七题:

首先读取两个整数 n 和 m,n表示矩阵的大小(n x n) ,m操作的次数。然后初始化一个大小为 n x n 的二维数组 arr,并从标准输入中读取其元素。创建两个长度为 n 的数组 xx 和 yy,用于记录行和列的交换情况。初始时,这两个数组的值都设置为 0, 1, 2, ..., n - 1,即没有进行任何交换。循环 m 次,每次读取一个操作指令 op、x 和 y。如果 op 为 0,则交换 xx 数组中的第 x 个和第 y 个元素的值,这相当于交换了矩阵的第 x 列和第 y 列。如果 op 为 1,则交换 yy 数组中的第 x 个和第 y 个元素的值,这相当于交换了矩阵的第 x 行和第 y 行。根据 xx 和 yy 数组中的值,重新排列原矩阵 arr 的元素,并输出最终的矩阵。
代码如下:

#include <iostream>
using namespace std;
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n, m;cin >> n >> m;int arr[n][n] = { 0 };for (int y = 0; y < n; y++) {for (int x = 0; x < n; x++) {cin >> arr[y][x];}}int xx[n], yy[n];for (int i = 0; i < n; i++)xx[i] = yy[i] = i;for (int i = 0; i < m; i++) {int op, x, y;cin >> op >> x >> y;if (x == y)continue;x--, y--;if (op == 0)swap(xx[x], xx[y]);if (op == 1)swap(yy[x], yy[y]);}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {cout << arr[yy[i]][xx[j]] << " ";}cout << endl;}return 0;
}

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

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

相关文章

### 深入敏捷之道:PSM认证与高效实践的结合

深入敏捷之道:PSM认证与高效实践的结合​ 在敏捷开发的世界中,Scrum因其灵活性和高效性成为全球最受欢迎的框架之一。而PSM(Professional Scrum Master)认证则是验证敏捷实践者专业能力的重要指标,不仅能提升个人职业竞争力,还能帮助团队更高效地实现目标。 Professional…

9. SpringCloud Alibaba Sentinel 流量控制、熔断降级、系统负载,热点规则的部署设置讲解

9. SpringCloud Alibaba Sentinel 流量控制、熔断降级、系统负载,热点规则的部署设置讲解 @目录9. SpringCloud Alibaba Sentinel 流量控制、熔断降级、系统负载,热点规则的部署设置讲解1. Sentinel 是什么?2. Sentinel 控制台3. Sentinel 下载&安装&运行4. Sentine…

MySQL训练营-慢查询诊断问题

慢查询相关参数和建议配置 slow_query_log + long_query_time 日志开关,是否记慢查询日志以及超过多长时间判定为慢查询。 查看参数设置:SHOW VARIABLES LIKE slow_query_log; SHOW VARIABLES LIKE long_query_time;实践建议:set global long_query_time=1; 分析型业务,set…

并发编程 - 线程同步(一)

线程同步确保多线程环境下共享资源安全使用,避免竞争条件和数据不一致。实现方式有避免资源共享、用户模式同步、内核模式同步和混合模式同步。经过前面对线程的尝试使用,我们对线程的了解又进一步加深了。今天我们继续来深入学习线程的新知识 —— 线程同步。01、什么是线程…

API接口开发设计

写接口看似是一个很简单的事情,但是往往越简单的事情越不容易做好,让我们看看如何写好一个接口。 01. 什么是接口 接口其实是一种规范,在生活中随处可见,比如:不同厂商的水管使用统一的水管接口对接、电脑厂商和配件厂商按照统一的 USB 接口标准进行生产完成配对、应用程序…

FZU ACM寒假集训专题一

只有前四题是自己做的,都ac。 做题思路: 前三题比较简单。第四题想法是,一个一个读字母,按照asc码值分别存储个数,用轮数减个数得出还缺几个,最后加在一起。 中间因为不清楚scanf,让getchar读到换行符出错了。 学习总结: 本专题学习了时空复杂度的计算,c++语法糖,还有…

谷歌泰坦:Transformer之后的AI时代?

介绍 2017年,谷歌发布了一篇具有革命性意义的论文,题为《Attention is All You Need》(注意力是你所需要的一切)。这篇论文引发了我们今天所经历的AI革命,并引入了Transformer模型。Transformer已经成为如今几乎所有顶级大型语言模型(LLM)的核心架构。 Transformer的优势…

2025.1.23冠词

错误分析: 对于冠词知识点掌握不透彻 需掌握知识点: ‌冠词‌是英语语法中的重要概念,主要分为不定冠词(a/an)和定冠词(the),此外还有零冠词。冠词本身不能单独使用,也没有词义,主要用于帮助指明名词的含义。‌ 不定冠词(a/an) ‌用法‌:不定冠词用于单数可数名词…

2025多校冲刺省选模拟赛7

2025多校冲刺省选模拟赛7\(T1\) A. 三色卡(card) \(0pts\)如果存在一个小矩形和大矩形的大小相同,此时另外两个矩形可以任意放,贡献是容易计算的。否则至少需要一个小矩形覆盖大矩形的两个角,通过交换长、宽钦定完全覆盖行的矩形比完全覆盖列的矩形的数量多。完全覆盖行的矩…

重试机制与 CompletableFuture 拓展

重试机制与 CompletableFuture 拓展 禁止转载。 本文旨在讨论重试机制的特点和策略,分析常用重试类库的实现,讨论为 CompletableFuture 添加重试机制的方法。文章首发同名公众号,欢迎关注。 重试示例 以下是一个常见的使用异步重试的例子,当我们需要重试功能时,只需调用 r…

DL00765-光伏故障检测高分辨率无人机热红外图像细粒度含数据集4000+张

光伏发电作为清洁能源的重要组成部分,近年来得到了广泛应用。然而,随着光伏电站规模的扩大,光伏组件在运行过程中可能会出现各种故障,如热斑、遮挡、接线盒故障等。这些故障不仅会影响光伏电站的发电效率,还可能导致更严重的安全隐患。因此,准确、及时地检测并分类这些故…

VMware安装RHEL7.9

VMware安装 可以选择官网下载或者使用其他网盘资源下载。 需要注意的是,现在官网下载需要注册其账号。 下面是安装的详细步骤: 1.找到文件所在路径。双击打开之后,可能会出现环境初始化重启。重启即可。然后再次双击打开此软件。2.勾选《我接受许可协议中的条款》。3.选择安…