分析:看到这题,就想用list,自己写了好久,其中erase和insert需要注意好多东西,好不容易搞定了,提交总是超时。大概list的遍历会很慢吧。书上用的是数组形式双向链表,学习了一下,AC了。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <cstdlib>
using namespace std;
const int maxn=100005;
int Right[100005],Left[100005];
void link(int L, int R)
{
Right[L]=R;
Left[R]=L;
}
int main()
{
int n,m;
int op;
int cas=0;
while(~scanf("%d%d",&n,&m))
{
for(int i=1; i<=n; i++)
{
Left[i]=i-1;
Right[i]=(i+1)%(n+1);
}
Right[0]=1;
Left[0]=n;
int inv=0;
int X,Y;
while(m--)
{
cin>>op;
if(op==4)
inv=!inv;