2844: 练52.3 插队

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:6 解决:5

题目描述

有$n$个人,每个人都有自己的编号,他们排成一个队列。现在一个编号为$b$的人要插到第$a$人(不是编号为$a$)后面,求插入后的队列顺序。

输入

第一行输入$n$,第二行输入$n$个数,表示原先的队伍顺序。($n\le 200$)
第三行输入两个数$a$,$b$。

输出

输出一行,为插入后的队列顺序。

样例输入 复制

5
1 2 3 4 5
2 7

样例输出 复制

1 2 7 3 4 5

提示

#include<bits/stdc++.h>
using namespace std;
int n,a[205],x,y;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    cin>>x>>y;
    for(int i=1;i<=x;i++) cout<<a[i]<<" ";
    cout<<y<<" ";
    for(int i=x+1;i<=n;i++)cout<<a[i]<<" ";
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int n,a,b,x;
vector<int> v;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>x;
		v.push_back(x);
	}
	cin>>a>>b;
	v.insert(v.begin()+a,b);
	for(vector<int>::iterator it=v.begin();it!=v.end();++it){
		cout<<*it<<" ";
	}
	return 0;
}