当前位置: 首页 > news >正文

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~ 好啊&#xff0c;现在呢&#xff0c;把手头的事情先放一放啊&#xff0c;我们来做道练习 OK&#xff1f; 好啊来&#xff1a; 小跳蛙 题目描述 有 &#x1d45b;−1 只小跳蛙在池塘中&#xff0c;依次被编号为 1,2,⋯ ,&#x1d45b;−1。池塘里有 &am…...

Bash ——shell

Bash作为用户与操作系统之间的接口&#xff0c;让用户通过命令行输入各种指令来控制和操作计算机系统。 shell的两种解释&#xff1a; 1.linux命令解释器 Terminal 终端 ——》shell命令 ——》 Linux kernel &#xff08;内核&#xff09; Linux内核的作用&#xff1a; 1.…...

PyTorch复现PointNet——模型训练+可视化测试显示

因为项目涉及到3D点云项目&#xff0c;故学习下PointNet这个用来处理点云的神经网络 论文的话&#xff0c;大致都看了下&#xff0c;网络结构有了一定的了解&#xff0c;本博文主要为了下载调试PointNet网络源码&#xff0c;训练和测试调通而已。 我是在Anaconda下创建一个新的…...

分享五款软件,成为高效生活的好助手

​ 给大家分享一些优秀的软件工具,是一件让人很愉悦的事情&#xff0c;今天继续带来5款优质软件。 1.图片放大——Bigjpg ​ Bigjpg是一款图片放大软件&#xff0c;采用先进的AI算法&#xff0c;能够在不损失图片质量的前提下&#xff0c;将低分辨率图片放大至所需尺寸。无论…...

代码随想录算法训练营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倍&#xff0c;是反转信号还是回光返照&#xff1f; 今天我们聊聊光学半导体龙头——韦尔股份。 上周末&#xff0c;韦尔股份发布半年业绩预告&#xff0c;预计上半年净利润13至14亿&#xff0c;同比增幅高达 754%至 819%。 然而&#xff0c;回首 2023 年它的净利仅 …...

docs | 使用 sphinx 转化rst文件为html文档

1. 效果图 book 风格。 优点&#xff1a; 极简风格右边有标题导航左侧是文件导航&#xff0c;可隐藏 2. 使用方式 reST 格式&#xff0c;比markdown格式更复杂。 推荐使用 book 风格。 文档构建工具是 sphinx&#xff0c;是一个python包。 $ pip3 list | grep -i Sphinx …...

【ChatGPT 消费者偏好】第二弹:ChatGPT在日常生活中的使用—推文分享—2024-07-10

今天的推文主题还是【ChatGPT & 消费者偏好】 第一篇&#xff1a;哪些动机因素和技术特征的组合能够导致ChatGPT用户中高和低的持续使用意图。第二篇&#xff1a;用户对ChatGPT的互动性、性能期望、努力期望以及社会影响如何影响他们继续使用这些大型语言模型的意向&#x…...

Webpack配置及工作流程

Webpack是一个现代JavaScript应用程序的静态模块打包器&#xff08;module bundler&#xff09;。当Webpack处理应用程序时&#xff0c;它会在内部构建一个依赖图&#xff08;dependency graph&#xff09;&#xff0c;该图会映射项目所需的每个模块&#xff0c;并生成一个或多…...

华为ensp实现防火墙的区域管理与用户认证

实验环境 基于该总公司内网&#xff0c;实现图片所在要求 后文配置请以本图为准 接口配置与网卡配置 1、创建vlan 2、防火墙g0/0/0与云页面登录 登录admin,密码Admin123&#xff0c;自行更改新密码 更改g0/0/0口ip&#xff0c;敲下命令service-manage all permit 网卡配置…...

深入解析 Laravel 策略路由:提高应用安全性与灵活性的利器

引言 Laravel 是一个功能强大的 PHP Web 应用框架&#xff0c;以其优雅和简洁的语法而受到开发者的喜爱。在 Laravel 中&#xff0c;路由是应用中非常重要的一部分&#xff0c;它负责将用户的请求映射到相应的控制器方法上。Laravel 提供了多种路由方式&#xff0c;其中策略路…...

Java | Leetcode Java题解之第228题汇总区间

题目&#xff1a; 题解&#xff1a; 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基于模型设计(三):建模并验证系统

可以对系统结构中的每个组件进行建模&#xff0c;以表示该组件的物理行为或功能行为。通过使用测试数据对组件进行仿真&#xff0c;以验证它们的基本行为。 打开系统布局 对各个组件进行建模时&#xff0c;需要从大局上把握整个系统布局。首先加载布局模型。这里以simulink自…...

基于go 1.19的站点模板爬虫

好像就三步: 1 建立http连接 2 解析html内容 3 递归遍历 创建一个基于 Go 1.19 的网站模板爬虫主要涉及几个步骤&#xff0c;包括设置 HTTP 客户端来获取网页内容、解析 HTML 来提取所需的数据&#xff0c;以及处理可能的并发和错误。下面我会给出一个简单的例子来说明如何…...

0基础学会在亚马逊云科技AWS上搭建生成式AI云原生Serverless问答QA机器人(含代码和步骤)

小李哥今天带大家继续学习在国际主流云计算平台亚马逊云科技AWS上开发生成式AI软件应用方案。上一篇文章我们为大家介绍了&#xff0c;如何在亚马逊云科技上利用Amazon SageMaker搭建、部署和测试开源模型Llama 7B。下面我将会带大家探索如何搭建高扩展性、高可用的完全托管云原…...

[PaddlePaddle飞桨] PaddleOCR图像小模型部署

PaddleOCR的GitHub项目地址 推荐环境&#xff1a; PaddlePaddle > 2.1.2 Python > 3.7 CUDA > 10.1 CUDNN > 7.6pip下载指令&#xff1a; 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

题目&#xff1a; 题解&#xff1a; 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 然后重新启动&#xff0c;检查进程是否存在ps -aux | grep kafka。 成功启动。...

【JS+H5+CSS实现烟花特效】

话不多说直接上代码 注意:背景图路径是picture/star.jpg&#xff0c;自己在同级目录先创键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) {// 我需要的参数比较多 所以比较臃肿// 获取…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...