B3917 [语言月赛 202401] 小跳蛙
OK 挠~ stop here~
好啊,现在呢,把手头的事情先放一放啊,我们来做道练习 OK?
好啊来:
小跳蛙
题目描述
有 𝑛−1 只小跳蛙在池塘中,依次被编号为 1,2,⋯ ,𝑛−1。池塘里有 𝑛 个位置,每一个位置上有一个数字 𝑎𝑖 。如果 𝑎𝑖=0,则表示这个位置是一个空位;否则表示这个位置上存在一个编号为 𝑎𝑖 的小跳蛙。
接下来的 𝑛−1 分钟,小跳蛙们将进行跳跃。第 𝑖 分钟,编号为 𝑖 的小跳蛙将跳到空位上。
请你输出 𝑛−1 分钟后池塘中每个位置的数字,即每个位置是否为空、小跳蛙编号是多少。
输入格式
输入共两行。
第一行一个整数 𝑛。
第二行 𝑛n 个整数 𝑎1,𝑎2,⋯ ,𝑎𝑛。
输出格式
输出一行 𝑛n 个整数 𝑎1,𝑎2,⋯ ,𝑎𝑛。 表示 n−1 分钟后池塘的状态。
输入输出样例
输入 #1
5
1 2 0 3 4
输出 #1
2 3 1 4 0
OK,我们的题目在黑板上也写完了
现在找个同学上黑板回答一下问题啊:
来,哪个坐在电脑边的同学;
啧啧啧,这都不会,我上课怎么讲的,坐,其他同学仔细听仔细看啊【吹小蜜蜂】
解题思路
这道题呢我们要知道,比如第一分钟,第一只小青蛙1需要跳到现在0的位置上;第二分钟,第二只小青蛙需要调到现在0的位置上;以此类推,直到第n-1分钟现在“池塘”里的小青蛙的位置。
现在我们把它分为两种思路:
思路1
梳理清思路后,我们现在需要知道两个点:
输入
首先是输入,题目中说输入两行,第一行输入位置数量,第二行输入详情;
我们可以得到:
int a[1000005]//此处要定义成全局变量,其余设立在主函数里
int n;
cin>>n;
for(i=1;i<=n;i++)
{cin>>a[i];
}
关于位置的判断:
这里因为运行时间的原因,我选择再设置一个数组w,将其设1000005,并放置在全局变量里:
这个w数组只用来存储青蛙和空位的位置的
所以我们要在输入的时候将其存下;
int a[1000005],w[1000005]
int n;
cin>>n;
for(i=1;i<=n;i++)
{cin>>a[i];w[a[i]]==i
}
然后题目中说让小青蛙n跳到现在的空位上,所以现在我们要让现在的小青蛙与现在的空位交换位置,
在此之前,
我们先要知道
现在的小青蛙的位置和当前空位的位置;
让现在的小青蛙与现在的空位交换位置
由此可以得出:
for(i=1;i<n;i++){wi=w[i];w0=w[0];t=a[wi];a[wi]=a[w0];a[w0]=t;t=w[i];w[i]=w[0];w[0]=t;}
题目上说N-1!!!!!
在数值上调完后记得也要在位置上变动!!!
输出
for(i=1;i<=n;i++){cout<<a[i]<<' ';}
OK;
综上所述
总体来看就是这样的::
#include<iostream>
using namespace std;
int a[1000005],w[1000005];
int main()
{int n,i,j,wi,w0;int t;cin>>n;for(i=1;i<=n;i++){cin>>a[i];w[a[i]]=i;}for(i=1;i<n;i++){wi=w[i];w0=w[0];t=a[wi];a[wi]=a[w0];a[w0]=t;t=w[i];w[i]=w[0];w[0]=t;}for(i=1;i<=n;i++){cout<<a[i]<<' ';}return 0;
}
思路2
规律
我们看样例输入和输出;
1 2 0 3 4;
2 3 1 4 0;
从上向下看,除了最高位以外,是不是每一位上都加了一?
然后最高的那一位的数字也就是n-1;
那么我们就可以得到一个思路:
核心
//
如果当前这个数是N-1的话,那么把这个数覆为0;
否则把这个数加一
//
翻译为c++语言就是:
if(a[i]==n-1)
{cout<<0<<" ";
}
else
{cout<<a[i]+1<<" ";
}
然后就是正经的输入输出:
综上所述
总体来看就是这样的:
#include<iostream>
using namespace std;
int a[1000005];
int main()
{int n,i;cin>>n;for(i=1;i<=n;i++){cin>>a[i];}for(i=1;i<=n;i++){if(a[i]==n-1){cout<<0<<" ";}else{cout<<a[i]+1<<" ";}}
}
相关文章:
B3917 [语言月赛 202401] 小跳蛙
OK 挠~ stop here~ 好啊,现在呢,把手头的事情先放一放啊,我们来做道练习 OK? 好啊来: 小跳蛙 题目描述 有 𝑛−1 只小跳蛙在池塘中,依次被编号为 1,2,⋯ ,𝑛−1。池塘里有 &am…...
Bash ——shell
Bash作为用户与操作系统之间的接口,让用户通过命令行输入各种指令来控制和操作计算机系统。 shell的两种解释: 1.linux命令解释器 Terminal 终端 ——》shell命令 ——》 Linux kernel (内核) Linux内核的作用: 1.…...
PyTorch复现PointNet——模型训练+可视化测试显示
因为项目涉及到3D点云项目,故学习下PointNet这个用来处理点云的神经网络 论文的话,大致都看了下,网络结构有了一定的了解,本博文主要为了下载调试PointNet网络源码,训练和测试调通而已。 我是在Anaconda下创建一个新的…...
分享五款软件,成为高效生活的好助手
给大家分享一些优秀的软件工具,是一件让人很愉悦的事情,今天继续带来5款优质软件。 1.图片放大——Bigjpg Bigjpg是一款图片放大软件,采用先进的AI算法,能够在不损失图片质量的前提下,将低分辨率图片放大至所需尺寸。无论…...
代码随想录算法训练营DAY58|101.孤岛的总面积、102.沉没孤岛、103. 水流问题、104.建造最大岛屿
忙。。。写了好久。。。。慢慢补吧。 101.孤岛的总面积 先把周边的岛屿变成水dfs def dfs(x, y, graph, s):if x<0 or x>len(graph) or y<0 or y>len(graph[0]) or graph[x][y]0:return sgraph[x][y]0s1s dfs(x1, y, graph, s)s dfs(x-1, y, graph, s)s dfs(…...
韦尔股份:深蹲起跳?
利润大增7倍,是反转信号还是回光返照? 今天我们聊聊光学半导体龙头——韦尔股份。 上周末,韦尔股份发布半年业绩预告,预计上半年净利润13至14亿,同比增幅高达 754%至 819%。 然而,回首 2023 年它的净利仅 …...
docs | 使用 sphinx 转化rst文件为html文档
1. 效果图 book 风格。 优点: 极简风格右边有标题导航左侧是文件导航,可隐藏 2. 使用方式 reST 格式,比markdown格式更复杂。 推荐使用 book 风格。 文档构建工具是 sphinx,是一个python包。 $ pip3 list | grep -i Sphinx …...
【ChatGPT 消费者偏好】第二弹:ChatGPT在日常生活中的使用—推文分享—2024-07-10
今天的推文主题还是【ChatGPT & 消费者偏好】 第一篇:哪些动机因素和技术特征的组合能够导致ChatGPT用户中高和低的持续使用意图。第二篇:用户对ChatGPT的互动性、性能期望、努力期望以及社会影响如何影响他们继续使用这些大型语言模型的意向&#x…...
Webpack配置及工作流程
Webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler)。当Webpack处理应用程序时,它会在内部构建一个依赖图(dependency graph),该图会映射项目所需的每个模块,并生成一个或多…...
华为ensp实现防火墙的区域管理与用户认证
实验环境 基于该总公司内网,实现图片所在要求 后文配置请以本图为准 接口配置与网卡配置 1、创建vlan 2、防火墙g0/0/0与云页面登录 登录admin,密码Admin123,自行更改新密码 更改g0/0/0口ip,敲下命令service-manage all permit 网卡配置…...
深入解析 Laravel 策略路由:提高应用安全性与灵活性的利器
引言 Laravel 是一个功能强大的 PHP Web 应用框架,以其优雅和简洁的语法而受到开发者的喜爱。在 Laravel 中,路由是应用中非常重要的一部分,它负责将用户的请求映射到相应的控制器方法上。Laravel 提供了多种路由方式,其中策略路…...
Java | Leetcode Java题解之第228题汇总区间
题目: 题解: class Solution {public List<String> summaryRanges(int[] nums) {List<String> ans new ArrayList<>();for (int i 0, j, n nums.length; i < n; i j 1) {j i;while (j 1 < n && nums[j 1] num…...
使用Simulink基于模型设计(三):建模并验证系统
可以对系统结构中的每个组件进行建模,以表示该组件的物理行为或功能行为。通过使用测试数据对组件进行仿真,以验证它们的基本行为。 打开系统布局 对各个组件进行建模时,需要从大局上把握整个系统布局。首先加载布局模型。这里以simulink自…...
基于go 1.19的站点模板爬虫
好像就三步: 1 建立http连接 2 解析html内容 3 递归遍历 创建一个基于 Go 1.19 的网站模板爬虫主要涉及几个步骤,包括设置 HTTP 客户端来获取网页内容、解析 HTML 来提取所需的数据,以及处理可能的并发和错误。下面我会给出一个简单的例子来说明如何…...
0基础学会在亚马逊云科技AWS上搭建生成式AI云原生Serverless问答QA机器人(含代码和步骤)
小李哥今天带大家继续学习在国际主流云计算平台亚马逊云科技AWS上开发生成式AI软件应用方案。上一篇文章我们为大家介绍了,如何在亚马逊云科技上利用Amazon SageMaker搭建、部署和测试开源模型Llama 7B。下面我将会带大家探索如何搭建高扩展性、高可用的完全托管云原…...
[PaddlePaddle飞桨] PaddleOCR图像小模型部署
PaddleOCR的GitHub项目地址 推荐环境: PaddlePaddle > 2.1.2 Python > 3.7 CUDA > 10.1 CUDNN > 7.6pip下载指令: python -m pip install paddlepaddle-gpu2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install paddleocr2.7…...
C语言 | Leetcode C语言题解之第227题基本计算题II
题目: 题解: int calculate(char* s) {int n strlen(s);int stk[n], top 0;char preSign ;int num 0;for (int i 0; i < n; i) {if (isdigit(s[i])) {num num * 10 (int)(s[i] - 0);}if (!isdigit(s[i]) && s[i] ! || i n - 1) {s…...
kafka.common.KafkaException: Socket server failed to bind to xx:9092
部署分布式集群的时候遇到的错误。 解决方案: 修改config下的server.properties,添加 listenersPLAINTEXT://:9092 advertised.listenersPLAINTEXT://自己的服务器ip:9092 然后重新启动,检查进程是否存在ps -aux | grep kafka。 成功启动。...
【JS+H5+CSS实现烟花特效】
话不多说直接上代码 注意:背景图路径是picture/star.jpg,自己在同级目录先创键picture目录再下载一张图片命名为star.jpg HTML: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"vi…...
uniapp小程序使用webview 嵌套 vue 项目
uniapp小程序使用webview 嵌套 vue 项目 小程序中发送 <web-view :src"urlSrc" message"handleMessage"></web-view>export default {data() {return {urlSrc: "",};},onLoad(options) {// 我需要的参数比较多 所以比较臃肿// 获取…...
命令模式在金融业务中的应用及其框架实现
引言 命令模式(Command Pattern)是一种行为设计模式,它将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,并且支持请求的排队和撤销操作。在金融业务中,命令模式可以用于实现交易请求、撤销操作等功能。本文将介绍命令模式在金融业务中的使用,并探讨…...
WordPress的性能优化有哪些方法?
WordPress的性能优化方法主要包括以下几个方面: 1. 使用缓存插件:缓存插件可以降低服务器负载,提高网站加载速度。常用的缓存插件有WP Rocket、WP Fastest Cache和Cache Enabler等。 2. 代码压缩和整合:通过压缩JavaScript、CSS…...
【Python基础】代码如何打包成exe可执行文件
本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢! 文章目录 一、前言二、安装PyInstaller三、使用PyInstaller打包四、验证打包是否成功五、总结 一、前言 本文介绍如何…...
Golang | Leetcode Golang题解之第227题基本计算器II
题目: 题解: func calculate(s string) (ans int) {stack : []int{}preSign : num : 0for i, ch : range s {isDigit : 0 < ch && ch < 9if isDigit {num num*10 int(ch-0)}if !isDigit && ch ! || i len(s)-1 {switch preS…...
云端美味:iCloud中食谱与餐饮计划的智能存储方案
云端美味:iCloud中食谱与餐饮计划的智能存储方案 在数字化生活管理中,我们的食谱和餐饮计划是日常饮食健康与乐趣的重要部分。iCloud提供了一个无缝的解决方案,让我们可以在所有设备上存储、同步和访问这些珍贵的信息。本文将详细介绍如何在…...
leetcode:1332. 删除回文子序列(python3解法)
难度:简单 给你一个字符串 s,它仅由字母 a 和 b 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。 返回删除给定字符串中所有字符(字符串为空)的最小删除次数。 「子序列」定义:如果一个字符串可以通过删除原字…...
智慧交通的神经中枢:Transformer模型在智能交通系统中的应用
智慧交通的神经中枢:Transformer模型在智能交通系统中的应用 随着城市化进程的加快,交通拥堵、事故频发、环境污染等问题日益严重。智能交通系统(ITS)作为解决这些问题的关键技术之一,受到了广泛关注。Transformer模型…...
PCIe驱动开发(1)— 开发环境搭建
PCIe驱动开发(1)— 开发环境搭建 一、前言 二、Ubuntu安装 参考: VMware下Ubuntu18.04虚拟机的安装 三、QEMU安装 参考文章:QEMU搭建X86_64 Ubuntu虚拟系统环境 四、安装Ubuntu 下载地址:https://old-releases.ubuntu.com…...
YOLOv10改进 | Conv篇 | CVPR2024最新DynamicConv替换下采样(解决低FLOPs陷阱)
一、本文介绍 本文给大家带来的改进机制是CVPR2024的最新改进机制DynamicConv其是CVPR2024的最新改进机制,这个论文中介绍了一个名为ParameterNet的新型设计原则,它旨在在大规模视觉预训练模型中增加参数数量,同时尽量不增加浮点运算&#x…...
变革设计领域:Transformer模型在智能辅助设计中的革命性应用
变革设计领域:Transformer模型在智能辅助设计中的革命性应用 在人工智能技术的推动下,智能辅助设计(Intelligent Assisted Design, IAD)正逐渐成为现实。Transformer模型,以其卓越的处理序列数据的能力,为…...
互联网运营培训班哪个好/优化 seo
1、查看firewall服务状态systemctl status firewalld2、查看firewall的状态firewall-cmd --state3、开启、重启、关闭、firewalld.service服务# 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop4、查看防火墙规则firewall-cmd -…...
设计网站国外网站/百度云搜索
快速启动终端: ctraltt终端字体放大: ctrshift终端字体缩小: ctr-ls: 查看当前目录的下文件信息pwd: 查看当前目录的路径touch: 创建文件mkdir: 创建文件夹rmdir: 删除空文件夹rm: 默认删除的是文件, -r表示以递归的方式删除文件夹里面的所有文件信息最后…...
wordpress插件选项/百度推广客户端怎么登陆
Stack继承Vector类,它通过五个操作对类 Vector 进行了扩展。 栈是 后进先出的。 栈提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。 方法摘要 booleanemp…...
东营网站建设dysem/国外网站seo
1,下载一个服务端 tomcat下载后开始运行,将需要浏览的东西,放在webapps-root文件下这里假设有一个xml小文件,接下来就开始上代码了,在同一个包下给mainactivity创造两个class文件,一个用来解析xml文件&…...
用github做网站/优化技术基础
关于前端性能优化相关的技术知识,网上随便搜一些就有很多,本文将系统性的从初级到高级的思路,总结移动前端性能优化各个方面的相关技术点,内容来自笔者以往经验的总结,希望读者可以花些时间看看。在目前大多数刚从事前…...