CCF 2017-03-2 学生排队
CCF 2017-03-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
评测用例规模与约定
对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ m ≤ 1000,所有移动均合法。
思路
也是简单的数字操作题,代码我是大一还是大二敲的,就直接放上来了。用数组存储学生,之后输入,找到该学生的位置,之后数组位移一下即可。用结构体可能会方便一点,但是这个计算量没必要。
代码
#include<iostream>
using namespace std;
int main()
{
	int n,i,k,q,w,j,t,x,s;
	cin>>n>>k;
	int a[n+1];
	for(i=1;i<=n;i++)
	{
		a[i]=i;
	}
	for(i=1;i<=k;i++)
	{
		cin>>q>>w;
		for(j=1;j<=n;j++)
		{
			if(a[j]==q)
				t=j;
		}
		if(w>0)
		{
			x=a[t];
			for(s=t;s<t+w;s++)
				a[s]=a[s+1];
			a[t+w]=x;
		}
		else
		{
			x=a[t];
			for(s=t;s>t+w;s--)
				a[s]=a[s-1];
			a[t+w]=x;
		}
	}
	for(i=1;i<=n;i++)
	{
		cout<<a[i];
		if(i!=n)
			cout<<" ";
	}
	return 0;
}
												
											CCF 2017-03-2 学生排队的更多相关文章
- CCF CSP 201703-2 学生排队
		
博客中的文章均为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-2 学生排队 问题描述 体育老师小明要将自己班上的学生按顺序排队.他首先让学生按学号从小到大的顺序排成一排, ...
 - CCF 2017 09-02 公共钥匙盒
		
CCF 2017 09-02 公共钥匙盒 1.用快速排序函数结合排序规则函数来给取放排序. 2.vector数组的强大功能. #include<iostream> #include< ...
 - easyUI datebox 日期空间斜杠格式化。例如将日期空间中显示2017-03-13,改为2017/03/13
		
easyUI datebox 日期空间斜杠格式化 将日期空间中显示2017-03-13,改为2017/03/13 //日期控件斜杠格式化 function formatDate(date){ if( ...
 - CCF201703-2 学生排队 java(100分)
		
试题编号: 201703-2 试题名称: 学生排队 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 体育老师小明要将自己班上的学生按顺序排队.他首先让学生按学号从小到大的顺序排 ...
 - CCF|学生排队|Java
		
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Sc ...
 - ccf201703-2学生排队
		
问题描述 体育老师小明要将自己班上的学生按顺序排队.他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整.一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列. ...
 - 【C/C++】学生排队吃饭问题
		
问题: 有n个学生,学生们都在排队取餐,第个学生在L国时刻来到队尾,同一时刻来的学生编号小的在前,每个时刻当队列不为空时,排在队头的同学就可以拿到今天的中餐并离开队伍,若第个学生R团时刻不能拿到中餐, ...
 - Feed back TFS 2017 RC upgrade status to product team in product group 2017.03.01
		
作为微软的MVP,有一个我最喜欢的好处,就是可以与产品组(产品研发部门)有零距离接触,可以最先拿到即将发版的产品,并且和产品组沟通,对产品中出现的问题实时反馈. 看到TFS产品组吸收了自己的建议和反馈 ...
 - Cheatsheet: 2017 03.01 ~ 03.31
		
Web New Year, New Blog Day 10 - Using JetBrains Rider with a .NET Core Console Application JavaScrip ...
 
随机推荐
- futex的设计与实现
			
介绍 futex(快速用户空间互斥)是Linux的一个基础组件,可以用来构建各种更高级别的同步机制,比如锁或者信号量等等,POSIX信号量就是基于futex构建的.大多数时候编写应用程序并不需要直接使 ...
 - springMVC Controller 参数映射
			
springMVC 对参数为null或参数不为null的处理 - 小浩子的博客 - CSDN博客https://blog.csdn.net/change_on/article/details/7664 ...
 - (转)Darknet模型与Tensorflow模型相互转换
			
目前darknet框架下的模型训练都是在C环境下训练的,难免较为晦涩,如果能将模型转换到Tensorflow环境下完成模型的训练,在将训练好的权重转为Darknet可以识别的权重部署到实际应用中.这样 ...
 - python+opencv抠图并旋转(根据坐标抠图)
			
import cv2 import numpy as np def subimage(image, center, theta, width, height): theta *= np.pi / 18 ...
 - 【PHP】 php遍历文件夹文件,获取md5的值
			
方法: <?php //定义操作目录 $dir = 'D:\phpstudy\WWW\test'; function getDir2($dir) { foreach (glob($dir . ' ...
 - 123457123456#2#----com.ppGame.XueYingYu76--前拼后广--儿童英语_pp
			
com.ppGame.XueYingYu76--前拼后广--儿童英语_pp
 - Python - Django - ORM 多对多表结构的三种方式
			
多对多的三种方式: ORM 自动创建第三张表 自己创建第三张表, 利用外键分别关联作者和书,关联查询比较麻烦,因为没办法使用 ORM 提供的便利方法 自己创建第三张表,使用 ORM 的 ManyToM ...
 - Python - Django - 模板语言之 Filters(过滤器)
			
通过管道符 "|" 来使用过滤器,{{ value|过滤器:参数 }} Django 的模板语言中提供了六十个左右的内置过滤器 urls.py: from django.conf. ...
 - IIS+PHP本地开发环境配置
			
打开Win7系统自带IIS.如图只要点击两下,CGI一定要勾选上!完成后打开浏览器输入127.0.0.1测试一下,如果能打开页面说明iis开启成功. 安装PHP.不同版本的PHP会有所不同,这里使用的 ...
 - sharp.js中文文档
			
高性能node.js图像处理库,使用libvips库来实现. 英文地址:sharp.pixelplumbing.com/ 中文文档地址:yunlzhang.github.io/sharp-docum…