初始状态下,小球按照序号依次排列,编号为:1,2,3······n;
可以执行两种指令。其中,A X Y表示吧X移到Y左边,B X Y表示把X移到Y右边(指令合法)
程序没有测试大量数据
详细描述在刘汝佳的算法书中的第六章
样例输入:
6 2
A 1 3
B 3 5
样例输出:
2 1 4 5 3 6
代码
可以执行两种指令。其中,A X Y表示吧X移到Y左边,B X Y表示把X移到Y右边(指令合法)
程序没有测试大量数据
详细描述在刘汝佳的算法书中的第六章
样例输入:
6 2
A 1 3
B 3 5
样例输出:
2 1 4 5 3 6
代码
<span style="font-size:18px;">#include<iostream>
typedef struct sqlist{
int data;
struct sqlist* next;
}sq;
using namespace std;
sq* init(sq* head,int n){
head=new sq;
head->next=0;
sq* q=head;
int i=1;
while(n){
sq* p=new sq;
p->data=i;
q->next=p;
p->next=0;
q=p;
n--;
i++;
}
return head;
}
void llink(sq* head,int b,int c){
sq* p;<span style="color:#33CC00;">/<span style="color:#009900;">/标记b的前一个节点</span></span>
sq* q=head;<span style&