***UVA12657 Boxes in a Line ACM解题报告(链表)
来源:互联网 发布:vs2015 mysql 编辑:程序博客网 时间:2024/05/16 20:28
这题也是小白书P144上看来的,这题链表还不算太难,但是细节处理也是比较麻烦,重点是那个link函数。
#include<iostream>#include<cstdio>#include<cmath>using namespace std;int left1[100005],right1[100005];void link(int L,int R){ left1[R]=L; right1[L]=R;}int main(){ int n,m,kase=0; while(~scanf("%d %d",&n,&m)) { for(int i=1; i<=n; i++) { left1[i]=i-1; right1[i]=(i+1)%(n+1); } left1[0]=n; right1[0]=1; int op,X,Y,cnt=0; while(m--) { scanf("%d",&op); if(op==4) { cnt=!cnt; } else { scanf("%d %d",&X,&Y); int LX=left1[X],RX=right1[X],LY=left1[Y],RY=right1[Y]; if(op==3) { if(LX==Y) { link(LY,X); link(X,Y); link(Y,RX); } else if(RX==Y) { link(LX,Y); link(Y,X); link(X,RY); } else { link(LX,Y); link(Y,RX); link(LY,X); link(X,RY); } continue; } if((op==1||op==2)&&cnt) op=3-op; if(op==1) { if(left1[Y]==X) continue; else { link(LY,X); link(X,Y); link(LX,RX); } } else if(op==2) { if(right1[Y]==X) continue; else { link(LX,RX); link(Y,X); link(X,RY); } } } } long long a=0; int b=0; for(int i=1; i<=n; i++) { b=right1[b];//每个数右边的数 if(i%2) a+=b;//判断是否是奇数位上的数 } if(cnt&&n%2==0) a=(long long)n*(n+1)/2-a; printf("Case %d: %lld\n",++kase,a); } return 0;}
0 0
- ***UVA12657 Boxes in a Line ACM解题报告(链表)
- UVa12657 Boxes in a Line
- uva12657 boxes in a line
- uva12657 Boxes in a Line
- Uva12657 Boxes in a line
- 【ACM菜逼解题报告】Boxes in a Line
- UVA12657 Boxes in a Line【双向链表】【数组模拟】
- uva12657 Boxes in a Line 双向链表
- 双链表--uva12657 Boxes in a Line 从入门到放弃
- 【Jason's_ACM_解题报告】Boxes in a Line
- 链表-双向链表&&UVa12657 Boxes in a Line(移动盒子)的理解与解析
- uva12657 - Boxes in a Line 入门经典II 第六章数据结构基础 例题6-5
- 【日常学习】【模拟双向链表】【疑问】Uva12657 - Boxes in a Line题解
- Uva12657 Boxes in a Line 【双向链表】【例题6-5】
- 算法竞赛入门经典 第二版 例题6-5 移动盒子 Boxes in a Line uva12657
- Boxes in a Line
- UVA12657解题报告
- 12657-Boxes in a Line
- Floyd_Warshall Algorithm
- 解决进行Android开发环境搭建时下载速度慢的问题
- LDA文本建模
- 【Cocos2d-x】Lua 资源热更新
- 18周OJ二分法查找元素并输出其位置
- ***UVA12657 Boxes in a Line ACM解题报告(链表)
- AngularJS的MVC浅谈
- 我的UFO观
- 贪吃蛇游戏
- ssh学习总结1
- Micro definition ---C语言中宏定义使用总结
- 在Windows下安装Python的lxml库
- 获取iOS设备唯一标识
- HTML+CSS总结