C++笔试强训day17

目录

1.小乐乐改数字

2.十字爆破

3.比那名居的桃子


1.小乐乐改数字

链接

简单把他当成字符串遍历即可。

详细代码:

#include <iostream>
#include <string>
using namespace std;
int main() {string s;cin >> s;for (int i = 0; i < s.size(); ++i) {if ((s[i] - '0') % 2 == 0)s[i] = '0';elses[i] = '1';}string ret;int i = 0;while (s[i] == '0')i++;for (; i < s.size(); ++i)ret += s[i];if (ret == "")cout << 0 << endl;elsecout << ret << endl;return 0;
}

2.十字爆破

链接

按照题意模拟即可:

我的思路是将每一行每一列的总和都存起来,然后第 i 行第 j 列的数就可以表示为line[i] + col[j] - map[i][j](减掉map位置是因为该位置行列一起遍历会重复,所以要减去一遍)

详细代码:

#include <iostream>
#include <vector>
#define int long long
using namespace std;
const int N = 1e6 + 10;
signed main() {int n, m;cin >> n >> m;int line[N];int col[N];vector<vector<int>> v(n, vector<int>(m));vector<vector<int>> map(n, vector<int>(m));for (int i = 0; i < n; ++i)for (int j = 0; j < m; ++j)cin >> map[i][j];for (int i = 0; i < n; ++i) {int sum = 0;for (int j = 0; j < m; ++j) {sum += map[i][j];}line[i] = sum;}for (int i = 0; i < m; ++i) {int sum = 0;for (int j = 0; j < n; ++j) {sum += map[j][i];}col[i] = sum;}for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {v[i][j] = line[i] + col[j] - map[i][j];}}for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {cout << v[i][j] << ' ';}cout << endl;}return 0;
}

注意:要开long long,因为数据量太大。

3.比那名居的桃子

链接

我的思路是前缀和预处理来解决的:

存储快乐值和羞耻度的前缀和,然后快乐值总和 sum1 = h[r] - h[l - 1];

羞耻度总和 sum2 = s[r] - s[l - 1];

然后一遍一遍更新出maxh和mins和L即可。

详细代码:

#include <iostream>
#define int long long
using namespace std;
const int N = 1e5 + 10;int h[N];
int s[N];
int n, k;
int x;signed main()
{cin >> n >> k;cin >> h[0];for (int i = 1; i < n; ++i){cin >> x;h[i] = h[i - 1] + x;}cin >> s[0];for (int i = 1; i < n; ++i){cin >> x;s[i] = s[i - 1] + x;}int maxh = 0, mins = 0x3f3f3f3f;int l = 0, r = 0;int sum1 = 0;int sum2 = 0;int keyi;while (l < n - k + 1){r = l + k - 1;if (l > 0){sum1 = h[r] - h[l - 1];sum2 = s[r] - s[l - 1];}else{sum1 = h[r];sum2 = s[r];}if (sum1 > maxh){maxh = sum1;mins = sum2;keyi = l;}else if (sum1 == maxh && sum2 < mins){maxh = sum1;mins = sum2;keyi = l;}l++;}cout << keyi + 1 << endl;return 0;
}

注意:

当sum2 < 目前最小羞耻度时才更新,这样就能不用考虑下面这点:

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

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

相关文章

跟TED演讲学英文:Why US politics is broken — and how to fix it by Andrew Yang

Why US politics is broken — and how to fix it Link: https://www.ted.com/talks/andrew_yang_why_us_politics_is_broken_and_how_to_fix_it? Speaker: Andrew Yang Date: April 2024 文章目录 Why US politics is broken — and how to fix itIntroductionVocabularyTr…

download_file、download

download_file源码 def download_file(url: str, fname: str, chunk_size1024):"""Helper function to download a file from a given url"""resp requests.get(url, streamTrue)total int(resp.headers.get("content-length", 0))…

已解决【nvidia-smi】Failed to initialize NVML: Driver/library version mismatch解决方法

本文摘要&#xff1a;【nvidia-smi】Failed to initialize NVML: Driver/library version mismatch解决方法。 &#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专…

VPN方案和特点

VPN方案和特点 VPN&#xff0c;或者称为虚拟专用网络&#xff0c;是一种保护你的在线安全和隐私的技术。它可以创建一个加密的连接&#xff0c;使你的在线活动对其他人不可见。以下是一些常见的VPN协议和它们的特点&#xff1a; 开放VPN (OpenVPN)&#xff1a;这是一种极为可…

24寸2K显示器 - HKC G24H2

&#x1f525;&#x1f5a5;️ 嘿&#xff0c;大家好&#xff01;今天&#xff0c;我要给大家介绍一款超棒的显示器——HKCG24H2&#xff01;这款显示器可是个全能选手&#xff0c;无论你是工作狂人还是游戏迷&#xff0c;它都能满足你的需求&#xff01; &#x1f60e;&#x…

空间尺寸对3维结构占比的影响

在3*3*3的3维空间内取3个点有27*26*25/62925种取法&#xff0c;在4*4*4的3维空间内取3个点有64*63*62/641664种取法&#xff0c;在xy&#xff0c;xz&#xff0c;yz面可自由变换的条件下同样都只有29个不同的结构。 34结构数量占比结构数量占比190.00311640.001521080.03692576…

3分钟掌握Suno API!音痴也能创作热门曲!免费拥有个人爆款音乐!

Suno API 的申请及使用 随着 AI 的应用变广&#xff0c;各类 AI 程序已逐渐普及。AI 已逐渐深入到人们的工作生活方方面面。而 AI 涉及的行业也越来越多&#xff0c;从最初的写作&#xff0c;到医疗教育&#xff0c;再到现在的音乐。 Suno 是一个专业高质量的 AI 歌曲和音乐创…

新加坡首届ChatGPT-4提示词大赛冠军竟是华裔!

就是前几天&#xff0c;新加坡举办了首届ChatGPT-4的prompt比赛&#xff0c;没想到本次比赛的冠军竟然是我们华夏子民&#xff01; 这个冠军得主名叫张希拉。 她推出的一套名为CO-STAR的提示词框架 如何应用 CO-STAR 框架&#xff1a; (C) 上下文&#xff1a;为任务提供背景信…

表格内容高效拆分,自定义行数随心所欲,让数据处理更高效!

在信息化社会的今天&#xff0c;表格成为了我们处理数据、整理信息的重要工具。然而&#xff0c;当表格内容过于庞大时&#xff0c;如何高效地拆分表格内容成为了摆在我们面前的一大难题。传统的拆分方法往往耗时耗力&#xff0c;且难以满足我们个性化的需求。 首先&#xff0…

数据序列包分析

基于数据序列包分析各部分的内容及含义&#xff0c;可能会考大题 基于本例分析&#xff0c;每部分含义如下&#xff1a; 时间&#xff08;Time&#xff09;&#xff1a; 时间戳显示了数据包在网络中被捕获的具体时间。在本例中&#xff0c;如"0.000000"表示第一个数据…

FreeRTOS【2】配置文件

1.开发背景 基于上一篇指引&#xff0c;移植了 FreeRTOS 到系统核心移植到了工程中&#xff0c;但是有很多功能没有配置&#xff0c;下面介绍常用的配置。 2.开发需求 配置 FreeRTOS 常用功能 3.开发环境 window10 MDK STM32F429 FreeRTOS10.3.1 4.实现步骤 4.1 配置文…

Top命令详解

这是top命令在Unix-like系统中的输出示例&#xff0c;提供了关于系统当前状态的实时信息&#xff0c;包括CPU使用率、内存使用情况、进程信息等。下面是对输出中各个字段的解释&#xff1a; top - 15:16:33&#xff1a;这是当前时间。 up 5:48&#xff1a;系统运行时间&#x…