CSP/CCF计算机职业资格认证题目:[201703-2 学生排队]【已解决】

CSP 201703-2 学生排队 满分题解 阅读详情
/**
 * 问题描述
 * 

体育老师小明要将自己班上的学生按顺序排队。
他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。
一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。
 
  例如,下面给出了一组移动的例子,例子中学生的人数为8人。
  0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8;
 
  1)第一次调整,命令为“3号同学向后移动2”,表示3号同学出队,
向后移动2名同学的距离,再插入到队列中,新队列中学生的学号依次为1, 2, 4, 5, 3, 6, 7, 8;

2)第二次调整,命令为“8号同学向前移动3”,表示8号同学出队,
向前移动3名同学的距离,再插入到队列中,新队列中学生的学号依次为1, 2, 4, 5, 8, 3, 6, 7;

3)第三次调整,命令为“3号同学向前移动2”,表示3号同学出队,
向前移动2名同学的距离,再插入到队列中,新队列中学生的学号依次为1, 2, 4, 3, 5, 8, 6, 7。

小明记录了所有调整的过程,请问,最终从前向后所有学生的学号依次是多少?
  请特别注意,上述移动过程中所涉及的号码指的是学号,而不是在队伍中的位置。
在向后移动时,移动的距离不超过对应同学后面的人数,
如果向后移动的距离正好等于对应同学后面的人数则该同学会移动到队列的最后面。
在向前移动时,移动的距离不超过对应同学前面的人数,
如果向前移动的距离正好等于对应同学前面的人数则该同学会移动到队列的最前面。

输入格式

输入的第一行包含一个整数n,表示学生的数量,学生的学号由1到n编号。
  第二行包含一个整数m,表示调整的次数。
  接下来m行,每行两个整数p, q,如果q为正,表示学号为p的同学向后移动q,如果q为负,表示学号为p的同学向前移动-q。

输出格式

输出一行,包含n个整数,相邻两个整数之间由一个空格分隔,表示最终从前向后所有学生的学号。

样例输入
8
3
3 2
8 -3
3 -2

样例输出

1 2 4 3 5 8 6 7

 * @param args
 */
 package StudentSort;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
	Scanner in =new Scanner(System.in);
	int n=in.nextInt();			//n个学生
	List <Integer> arr =new ArrayList<Integer>();
	
	int move_count =in.nextInt();//移动次数
	int move[][] =new int[move_count][2];
	for(int i=0;i<n;i++)
	{
	 arr.add(i+1);	//生成学号数组
	}
	
	for(int i=0;i<move_count;i++)
	{
		for(int j=0;j<2;j++)
		{
			move[i][j]=in.nextInt(); //移动的操作  ( i 移动  j 步)
		}
	}
	int temp =0;
	for(int i=0;i<move_count;i++)
	{
		move(move[i][temp],move[i][temp+1],arr);
	}
	print(arr);
	
	}
	
	public static void move(int moveElement ,int moveCount,List<Integer> moveArr)
	{
		for(int i=0;i<moveArr.size();i++)
		{
			if(moveArr.get(i)== moveElement)
			{
				int removeElement = moveArr.remove(i);
				if(moveCount>0)						  
				{
					int imc =i+moveCount;
					if(imc > moveArr.size()-1)
					{
						imc=moveArr.size();
					}
					moveArr.add(imc,removeElement);
					break;
				}else
				{
					int imc =i+moveCount;
					if(imc <= 0)
					{
						imc = 0;
					}
					moveArr.add(imc,removeElement);
					break;
				}
			}
		}
	}
	public static void print(List<Integer> array )
	{
		for(int a:array)
		{
		System.out.print(a+" ");	
		}
	}
}
CSP认证训练题目——hdu6023-Automatic Judge 这是道水题,AC这道题目是很容易的,只要了解OJ的评判规则即可,这道题主要就是让你编写一段程序,可以计算出选手最终AC了几道题以及用了多少时间注意:这里的用了多少时间并不是说选手做完这些题用了多长时间,它是有具体的规则的,而且做错还会罚时,下面我就来说一下时间的计算规则首先,举例来说,现在有5道题: 1001, 1002, 1003, 1004,1005 对于每道题,提交后有多种可能,我 阅读详情

相关推荐

CCF权限查询

问题描述   授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权机制获得系统中各个模块的操作权限。   本题中的授权机制是这样设计的:每位用户具有若干角色,每种角色具有若干权限。例如,用户 david 具有 manager 角色,manager 角色有 crm:2 权限,则用户 david 具有 crm:2 权限,也就是 crm 类权限的第 2 等

God Liao On The Way 6622

【CSP试题回顾】201703-2-学生排队

CSP-201703-2-学生排队。

fzy2003的博客 463

CCF计算机软件能力认证试题练习:201703-2 学生排队

学生排队 来源: 标签: 参考资料: 相似题目: 题目 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下面给出了一组移动的例子,例子中学生的人数为8人。   0)初始队列中学生的学号依次...

WINGREZ‘S BLOG 2666

【CCF】CCF-CSP 201703-2 学生排队满分题解

ccf题解

qq_46119062的博客 439

历年CSP,CCF考试题目(前两题)

历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)历年CSP,CCF考试题目(前两题)

[ADS]单端电感和差分电感的感值和Q值计算公式

单端电感和差分电感的感值和Q值计算公式

乾巽的博客 1万+

第十次ccf 学生排队

题目: 试题编号: 201703-2 试题名称: 学生排队 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向

xiaoli_nu的博客 2207

Lane、PHY和Preset Value Bit

每个Lane支持不同的传输速度和带宽,例如PCIe 3.0中,一个Lane的传输速度可以达到8 GT/s(Giga Transfers per second),也就是1 GB/s(GigaBytes per second)。Preset Value Bit(预置值位)是在PCIe 3.0的Lane上新引入的一种机制,用于优化信号传输质量。PCIe设备可以包含多个Lane,例如x1、x4、x8、x16等,表示该设备同时使用的Lane数目,比如x16表示该设备采用了16个Lane,具有更高的传输速度和带宽。

weixin_58083606的博客 1296

CCF-CSP认证历年真题解(100分)

转载: 链接出自:https://blog.youkuaiyun.com/tigerisland45/article/details/54755895 CCF-CSP认证历年真题解–python语言 CCF-CSP认证历年真题解–Java语言 C/C++语言: 2019.12 第18次: CCF201912-1 报数(100分)【模拟】 CCF201912-2 回收站选址(100分)【序列处理】 2019.09 第17次: CCF201909-1 小明种苹果(100分)【序列处理】 CCF201909-2 小明种苹果(

追梦鸟 3万+

41页PPT | 华为业务流程架构全景视图:全业务域L1-L3级流程全案

TBD、收集和生成线索、验证机会点、TBD、管理销售授权、管理销售项目、管理销售项目群、管理合同要素/模板、验证和分发线索、标前引导、管理开票和回款、客户网络评估、管理销售评审、TBD、管理交付项目群、管理合同文档、管理结构化合同信息、跟踪和培育线索、制定并提交标书、管理合同/PO变更、客户网络规划、管理销售决策。:4.1 管理技术、服务请求、4.2管理备件、服务交付、4.3管理非技术、服务请求、4.4管理客户、投诉。:管理Idea、产生Idea、激发兴趣与协作、孵化、原型和验证、确认Idea与商业化。

zuoan1993的博客 4547

AWS RDS 介绍 三)创建 RDS 实例

AWS RDS 介绍 共分为 7 个部分, 其中 第 3部分重点介绍,如何创建一个RDS 实例。 三) AWS RDS 试用MySQL http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.

XuYongshi02的专栏 7645

CCF-CSP认证历年真题解

程序改变现实,软件统治世界。 程序员需要有精益求精的工匠精神,追求逻辑的极简、时间的最少和存储的最省,并且懂得其中的平衡。 数据表示需要优先考虑,对于许多问题,找到表示该问题的数据结构,问题自然就解决了。 CCF计算机职业资格认证的每一道试题都十分经典,覆盖现实世界中方方面面的问题。这个历年试题解主要使用C/...

(。◕‿◕。) 4251

自动控制原理之控制系统的数学模型(类比神经网络学习数学模型)

控制系统的数学模型背景建模方法常用的数学模型时域数学模型的建立建立微分方程的步骤复数域模型的建立传递函数的性质系统的典型环节及传递函数比例环节惯性环节积分环节微分环节理想微分环节一阶微分环节二阶微分环节振荡环节延时环节(时滞环节) 背景 数学模型就像是真实世界的写照,它就像一个虚拟的世界,我们可以通过建模的方式了解这个真实世界的运作规律。 这一点很像强化学习,强化学习需要一个供智能体探索、学习的环境,于是,我们通常会事先建立一个虚拟的仿真环境。举个例子,对于人类来说,可能需要经过不断地尝试,甚至是生命的代价

zbp_12138的博客 6569

CCF认证-20170302-学生排队

问题描述 试题编号: 201703-2 试题名称: 学生排队 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 体育老师小明要将自己班上的...

amf12345的博客 374

hwasan实例分析踩内存之七:CamX进程chifeature2base怪异的Cause: use-after-free

摘要:本文分析了高通camx进程中的指针异常crash问题,通过构建hwasan版本确认存在内存踩踏现象。日志显示为"use-after-free"类型错误,具体为线程T175672在已释放内存区域执行写入操作。堆栈分析表明ChiFeature2Base::PipelineDestroyCb()函数访问了已被ChiFeature2Base::DestroyFeatureData()释放的pPipelineData对象。该问题源于多线程环境下内存管理不同步,导致释放后仍被引用。解决方案通过

1073

Sigrity System Explorer Transient Analysis模式进行瞬态仿真分析操作指导-单端信号-并联端接

Sigrity System Explorer Transient Analysis模式可以用于瞬态仿真分析,通过搭建简易拓扑用于前仿真分析通道的时域性能,下面搭建一个简易的单端拓扑并且进行并联端接,以下图为例,准备好发送接收端的IBIS模型, (se_example.ibs,本例发送接收端都使用相同的IBIS模型),以及传输线的S参数模型(W1_welement_se.sp)最上方的图形界面是传输线的模型,本例是一个上下都有参考平面的带状线,右侧的梯形是蚀刻角度,根据W1和W2以及铜厚来确定。

weixin_54787054的博客 374

CSP认证201703-2-学生排队-(Java)100分

学生排队 试题编号: 201703-2 试题名称: 学生排队 时间限制: 1.0s 内存限制: 256.0MB 问题描述   体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。   例如,下面给出了一组移动的例子,例子中学生的人数为8人。   0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8;   1)第一次调整,命令为“3号同学向后移动2”

qq_45772965的博客 344

C# MES通信从入门到精通(10)——C#使用HTTP的Post和Get方法和Mes系统通信

本文详细介绍了如何利用C#完成与HTTP协议的MES系统进行通信,通过POST和GET方法实现与MES系统的交互,由高级工程师的实战经验总结,实属C#与MES通信领域的葵花宝典!

qq_34059233的博客 3413

CCF-CSP 201703-2学生排队 一维数组满分题解

CCF-CSP 201703-2学生排队 一维数组满分题解 题目链接:201703-2学生排队 思路: 1. 用一维数组的下标代表排队的位置,一维数组对应的值为学生的学号; 2. 定义一个find函数,利用find函数找到a同学对应的位置; 3. 若b>0,则先将a同学后的b位同学向前移动一个单位,由于是顺序整体移动,则直接采用后一个同学位置覆盖前一个同学的位置的方法,即p[i-1]=p[i],最后再移动a同学的位置。 4. 若b<0,则先将a同学前的b位同学向后移动一个单位,由于是顺序整体移动

只须一笑不须愁X的博客 1299

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

CCF201809-1 卖菜

试题编号: 201809-1 试题名称: 卖菜 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。   第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自...

fyy_lufan的博客 2929

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

201703-2 CCF 学生排队 100分代码

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I...

qq_29380377的博客 1549

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

2017年3月CCF真题题解

1.201703-2 问题描述   体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面, 然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。   例如,下面给出了一组移动的例子,例子中学生的人数为8人。   0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8;   1)第一次调整,...

qq_39088036的博客 318

ccf csp考试201703-2学生排队答案+解析(python实现)

因为csp考试python语言是2018年才新加入的,网上也很难找到python的解答,本人能力有限,如果大家有更简单的方法,可以互相交流一下。

jack_zh_CN的博客 600

CSP考试 2017年3月第2题 学生排队 C++实现

#include using namespace std; int main() { int NUM; cin>>NUM; int jg[NUM]; for(int i=0;i<NUM;i++) { jg[i]=i+1; } int m; cin>>m; for(int i=0;i<m;i++) { int a,b; cin>>a>>b; if(b>0)

woniupengpeng的专栏 4740

CSP/CCF计算机职业资格认证题目:[201712-2 游戏]【已解决】

/** * 问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。   游戏开始,从1号小朋友开始顺时针报数, 接下来每个小朋友的报数是上一个小朋友报的数加1。 若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k, 则该小朋友被淘汰出局,不再参加以后的报数。 当游戏...

Guan_Java的博客 386

CSP/CCF计算机职业资格认证题目:[201812-1 小明上学]【已解决】

/** * 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。   京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 r 秒,黄灯 y 秒,绿灯 g 秒,那么从 0 时刻起,[0,r...

Guan_Java的博客 1507
上一篇: CSP/CCF计算机职业资格认证题目:[201703-1 分蛋糕]【已解决】
下一篇: CSP/CCF计算机职业资格认证题目:[201512-2 消除类游戏]【已解决】
_干柿鬼鲛
博客等级 码龄9年 27粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值