//Author:PanDaoxi
#include <iostream>
using namespace std;
const int N=500001;
int n,a[N];
int find(int x){
for(int i=1;i<=n;i++){
if(a[i]==x) return i;
}
return 0;
}
void left(int x,int y){
int t=a[x-1];
for(int i=x;i<=y;i++){
a[i-1]=a[i];
}
a[y]=t;
}
void right(int x,int y){
int t=a[x];
for(int i=x;i>=y;i--){
a[i+1]=a[i];
}
a[y]=t;
}
int main(){
int m,x,y,p,q;
char type;
cin>>n>>m;
for(int i=1;i<=n;i++){
a[i]=i;
}
for(int i=1;i<=m;i++){
cin>>type>>x>>y;
p=find(x);
q=find(y);
if(type=='A'){
if(q>p) left(p+1,q-1);
else right(p-1,q);
}
else{
if(q>p) left(p+1,q);
else right(p-1,q+1);
}
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
C++移动的小球
原创
©著作权归作者所有:来自51CTO博客作者PanDaoxi的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:C++解决Blash数集
下一篇:C++银行取款
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C++移动的小球
C++移动的小球!
c++ 算法 i++ ios #include -
算法训练-移动小球
Description你有一些小球,从左到右依次编号为1,2,3,...,n. 你可以执行两种指令(1或者2)。其中, 1 X Y表示把小球X移动
链表 移动小球 C语言 ACM C++ OJ 测试用例 链表 数组 -
键盘控制小球的移动
键盘控制小球的移动
html5课程 html 微信 人工智能 css