UVA 12657 Boxes in a Line【双向链表】
来源:互联网 发布:淘宝用什么软件做图片 编辑:程序博客网 时间:2024/05/22 04:50
https://vjudge.net/problem/UVA-12657
#include<cstdio>#include<math.h>#include<cstring>#include<climits>#include<string>#include<queue>#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<climits>#include<string>#include<queue>#include<stack>#include<set>#include<map>#include<list>#include<algorithm>using namespace std;#define rep(i,j,k)for(i=j;i<k;i++)#define per(i,j,k)for(i=j;i>k;i--)#define MS(x,y)memset(x,y,sizeof(x))#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define ll long long#define abs(x) (x>0?x:-x)const int INF=0x7ffffff;const ll MAX=1e18;const int M=1e5+10;int l[M],r[M];int i,j,k,n,m;void link(int a,int b){ r[a]=b,l[b]=a;}int main(){ int T=0; while(~scanf("%d%d",&n,&m)){ int flag=0; int x,y,op; for(i=1;i<=n;i++) r[i]=i+1,l[i]=i-1; r[0]=1,l[0]=-1,r[n+1]=-1,l[n+1]=n; for(i=1;i<=m;i++){ scanf("%d",&op); if(op==4){ flag^=1; continue; } if(flag&&op<=2)op=3-op; scanf("%d%d",&x,&y); if(op==1&&l[y]==x)continue; if(op==2&&r[y]==x)continue; int lx=l[x],ly=l[y],rx=r[x],ry=r[y]; if(op==1) link(lx,rx),link(ly,x),link(x,y); else if(op==2)link(lx,rx),link(y,x),link(x,ry); else { if(rx==y)link(lx,rx),link(y,x),link(x,ry); else if(lx==y)link(lx,rx),link(ly,x),link(x,y); else link(lx,y),link(y,rx),link(ly,x),link(x,ry); } } int k=0; ll ans=0; for(i=1;i<=n;i++){ k=r[k]; if(i&1)ans+=k; } if(flag)ans=(ll)n*(n+1)/2-ans; printf("Case %d: %lld\n",++T,ans); } return 0;}
0 0
- UVA - 12657 Boxes in a Line(双向链表)
- UVA 12657 Boxes in a Line 【双向链表】
- Uva-12657 Boxes in a Line(双向链表)
- UVa--12657 Boxes in a line(双向链表)
- UVA 12657 Boxes in a Line(双向链表)
- UVA 12657 Boxes in a Line(双向链表)
- UVA 12657 Boxes in a Line【双向链表】
- UVA 12657 Boxes in a Line 模拟 双向链表
- UVA 12657 Boxes in a Line(双向链表)
- UVa 12657 Boxes in a Line(双向链表的应用)
- UVa 12657 Boxes in a Line(双向链表的应用)
- UVa 12657 Boxes in a Line(双向链表的应用)
- UVa 12657 Boxes in a Line 数组模拟双向循环链表
- UVA12657 Boxes in a Line【双向链表】【数组模拟】
- uva12657 Boxes in a Line 双向链表
- UVA 12657 - Boxes in a Line
- UVA - 12657 Boxes in a Line
- UVa 12657 - Boxes in a Line
- 无线网络与移动计算
- 迪加斯特拉
- Android 一键退出系统
- 最近找java实习面试被问到的东西总结(Java方向)
- 控制台打印日志信息
- UVA 12657 Boxes in a Line【双向链表】
- OkHttp中Interceptor拦截器之公共参数请求封装
- [RealSense]5-毫无意义的后记
- socket阻塞与非阻塞,同步与异步
- JavaWeb的四大作用域
- Unix网络编程—— I/O复用之select
- 数据类型
- How do I utilise all the cores for nmake?
- 带你玩-Object Tracking using OpenCV (二)