CCF 20170302 学生排队

#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;

const int N = 1000;
vector<int> v(N);

int main(){
    int n, m;
    cin>>n>>m;
    for(int i = 0; i < n; i++){
        v[i] = i + 1;
    }
    int p,q;
    for(int i = 0; i < m; i++){
        cin>>p>>q;
        vector<int> :: iterator it =find(v.begin(),v.end(),p);
        v.erase(it);
        v.insert(it + q, p);
    }
    for(int i = 0; i < n; i++){
        cout<<v[i]<<‘ ‘;
    }
    return 0;
}

原文地址:https://www.cnblogs.com/blink-cz/p/12688676.html

时间: 2024-11-09 00:53:05

CCF 20170302 学生排队的相关文章

CCF - 201703-2 - 学生排队

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

[CCF 201703-2 学生排队] VS2019使用erase时的问题

#include <iostream> #include <vector>#inclde <algorithm> using namespace std; int main() { int n, t; vector<int> que; cin >> n >> t; for (int i = 0; i < n; i++) { que.push_back(i+1); } for (int i = 0; i < t; i++)

CCF——学生排队(2017-3)

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

CCF学生排队

这题如果考虑考虑用数组折腾会非常麻烦,如果想到用vector的insert函数和erase函数就会非常舒服的模拟出来.vt.erase(it)之后it就变成了野指针,所以要用it=erase(it),这样it就会自动指向下一个元素. #include<cstdio> #include<iostream> #include<vector> #include<algorithm> #include<string.h> using namespace

CCF签到汇总(JAVA版本,2013-12~2018-12)

CCF签到题,没有提到分数的题目都是100分,不然会额外提出,样例输入都单独文本复制粘贴了,这样你们测试的时候很方便粘贴用例,不用自己手敲,都是一些签到题.但有好的基础,会多的数据结构,好的数学思想,那么这些都是一些很简单的问题.因为java版本不多,所以仅供参考,以下代码的思路都很简单,很多都直接通过题目面向过程,有更好的想法,或者你我有些题没有满分的改进方式都可以交流. CCF300分的线,1.2题需要拿满,最低也要190,第三题是理解题,很多时候考你的语文能力更多,第四题是规律性更强的题,

Codeforces Round #247 (Div. 2) ABC

Codeforces Round #247 (Div. 2) http://codeforces.com/contest/431 代码均已投放:https://github.com/illuz/WayToACM/tree/master/CodeForces/431 A - Black Square 题目地址 题意: Jury玩别踩白块,游戏中有四个区域,Jury点每个区域要消耗ai的卡路里,给出踩白块的序列,问要消耗多少卡路里. 分析: 模拟水题.. 代码: /* * Author: illuz

栈和队列的总结

栈和队列的总结: (有时候感觉自己掌握了,栈和队列,可是在写的时候会遇到不同的情况,就不会处理了,因此在这里进行总结下). 栈: 栈是一端受限,一段允许进行操作的线性表.我自己理解时,会将它理解成一个装书的盒子.放书,取书,就是进行的操作.这个的特点就是,你放了一踏书,现在你想取书,你只能先把上面的书一个个取出来,即:先放的后取,后放的先取.放在栈上说,就是先进后出. 明白了栈的定义,现在要实际的实际,首先是它的逻辑结构:线性表.它是线性的. 现在是它的存储结构:最常采用的是顺序存储和链式存储(

从通讯聊计算机

导问 给你导线若干,以及一个小灯泡,你能否让计算机将其点亮? 通讯中如何保障数据的位的丢失? (本文技术主要还是几年前做的,细节之处所记之处可能不甚准确) 文 对于接口, 不同系统不同平台有不同接口,不同的虚拟方式,我们先以RS232举例,由于硬件参数相同,无论Linux还是Windows这块是一致的. 对于RS232程序者来说,往往只关心数据,因此往往只关注2,3口.(其实有的做硬件也他么的只接了235,具体定义可以去查寻MSDN文档或者RS232定义) 众所周知这个参数非常显眼——频率,为什

递推(二):递推法的应用

下面通过一些典型实例及其扩展来讨论递推法的应用. [例2]骨牌铺方格 在2×n的一个长方形方格中,用一种2×1的骨牌铺满方格.输入n(n<=40),输出铺放方案的总数. 例如n=3时,为2×3方格,骨牌的铺放方案有三种,如下图1所示. 图1  2×3方格的骨牌铺放方案 (1)编程思路. 设f[i]为铺满2*n方格的方案数,则有    f[i]=f[i-1]+f[i-2]. 其中,f[i-1]为铺满2*(n-1)方格的方案数(既然前面的2*(n-1)的方格已经铺满,那么最后一个只能是竖着放).f[