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

长宁手机网站建设网络搜索引擎

长宁手机网站建设,网络搜索引擎,南宁网站建设醉懂网络,汕头网站建设工作OK 挠~ stop here~ 好啊,现在呢,把手头的事情先放一放啊,我们来做道练习 OK? 好啊来: 小跳蛙 题目描述 有 𝑛−1 只小跳蛙在池塘中,依次被编号为 1,2,⋯ ,𝑛−1。池塘里有 &am…

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<<" ";}}
}

http://www.hkea.cn/news/397177/

相关文章:

  • 互联网企业网站网络优化
  • 山东手工活外发加工网四川二级站seo整站优化排名
  • 行业门户网站开发百度竞价怎么做效果好
  • 适合前端做项目的网站百度网盘搜索
  • 下载网站怎么下载广州网站定制多少钱
  • 西安攻略旅游自由行怎么玩北京seo软件
  • 汉川网站建设sem代运营
  • 装酷网装修平台东莞seo外包
  • 专门做图片的网站吗如何建网站要什么条件
  • 卢氏县住房和城乡建设局网站站长统计 站长统计
  • 济南 网站制作旺道营销软件
  • 新上线网站如何做搜索引擎站长素材网站
  • 做网站编辑深圳疫情防控最新消息
  • PHP网站开发项目式教程google下载手机版
  • 国外专门用于做网站图片的做网站要多少钱
  • 网站维护费用计入什么科目媒介星软文平台官网
  • 网站建设seo 视频做网站哪个平台好
  • 旅行社网站建设方案论文百度seo公司
  • 长沙网站建设与维护百度开户联系方式
  • 做pcr查基因序列的网站南京百度网站快速优化
  • 数据服务网站策划方案关键词快速优化排名软件
  • 响应式网站缺点学大教育培训机构电话
  • 江苏天德建设工程有限公司网站一个平台怎么推广
  • 石家庄做网络推广的网站推广平台收费标准
  • 贵阳天柱网站建设招聘域名注册平台有哪些
  • 网站建设电话营销百度问一问官网
  • 网站优化建设河南怎么关闭seo综合查询
  • 自贡做响应式网站开发公司google搜索引擎入口google
  • 东莞哪种网站推广好微信朋友圈推广文案
  • 现在学做网站赚钱吗东莞市优速网络科技有限公司