Description

你有一些小球,从左到右依次编号为1,2,3,…,n. 你可以执行两种指令(1或者2)。其中, 1 X Y表示把小球X移动到小球Y的左边, 2 X Y表示把小球X移动到小球Y右边。 指令保证合法,即X不等于Y。 例如,初始状态1,2,3,4,5,6的小球执行1 1 4后,小球1被移动到小球4的左边,即2,3,1,4,5,6。如果再执行2 3 5,结点3将会移到5的右边,即2,1,4,5,3,6。

Input

第一行为一个整数t(0<t<10),表示测试用例个数。每个测试用例的第一行为两个整数n(1<n<=500000)和m(0<m<100000),n表示小球的个数,m为指令条数,以下m行每行为一条指令。

Output

为每个测试用例单独输出一行,从左到右输出最后序列,每个数字后面跟一个空格。

Sample Input

2
6 2
1 1 4
2 3 5
5 1
2 1 5

Sample Output

2 1 4 5 3 6
2 3 4 5 1 

Code 

#include<stdio.h>
#include<stdlib.h>  #define MAXN  500005  int lft[MAXN],rgt[MAXN];  int main()
{  int p,q,i,n,m,j;  char type[2]; int max;scanf("%d",&max);for(j=0;j<max;j++){ scanf("%d%d",&n,&m);  for(i = 0; i <= n+1; i++)  {  lft[i] = i-1;  rgt[i] = i+1;  }  for(i = 0; i < m; i++)  {  scanf("%s%d%d",type,&p,&q);  rgt[lft[p]] = rgt[p];  lft[rgt[p]] = lft[p];  if(type[0] == '1')  {  rgt[lft[q]] = p;  lft[p] = lft[q];  lft[q] = p;  rgt[p] = q;  }  else  {  lft[rgt[q]] = p;  rgt[p] = rgt[q];  rgt[q] = p;  lft[p] = q;  }  }  int front = rgt[0];  while(rgt[front] != n+1)  {  printf("%d ",front);  front = rgt[front];  }  printf("%d \n",front);// if(j==max)// printf("\n");} return 0;
}  

VmatrixOJ--[Loop]移动小球相关推荐

  1. PICO-8学习日志Week2.0【利用PICO-8制作Pong】

    这一篇并不是Dylan书中的内容,是我自己运用了解到的知识做出来的一个游戏--Pong. 对电子游戏历史有过些许了解的朋友应该都比较熟悉这个名字,这就是世界第一款家用游戏,在1972年由雅达利公司制作 ...

  2. matlab小球水平抛出,如何用Matlab制作小球自由落体运动的动画

    第一堂课布置了一个Mission Impossible作业,要求学生们用Matlab制作一个动画,模拟小球的自由落体运动. 以下将整个任务的问题解决的过程分享如下: 步骤一,这是一个动画的制作过程,以 ...

  3. 【论文】Closing the Sim-to-Real Loop: Adapting Simulation Randomization with Real World Experience

    本文主要介绍了对机器手臂动力学参数的分布进行学习,能更有效率的适应真实环境,从而缩小sim to real gap.论文原址: Closing the Sim-to-Real Loop: Adapti ...

  4. html5使用canvas实现小球碰撞反弹实例

    使用 html5 中的 canvas, 实现小球相互碰撞并反弹,反弹算法比较简单. index.html <!DOCTYPE html> <html lang="en&qu ...

  5. 【鸡年大吉】,不知道写点啥,放个demo(小球碰撞)吧,有兴趣的看看

    最初的想法是仿写win7的泡泡屏保效果,但是对于小球的斜碰问题一直没搞明白(如果你会这个,欢迎留言或者做个demo),所以只是简单处理了碰撞后的速度,有时候会看起来很搞笑~~~funny guy 话不 ...

  6. 2022-2028年中国小球产业深度调研及投资前景预测报告(全卷)

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了小球行业相关概述.中国小球行业运行环境.分析了中国小球行业的现状.中 ...

  7. CodeGen字段循环Field Loop

    CodeGen字段循环Field Loop 字段循环是一个模板文件构造,它允许迭代CodeGen拥有的有关字段的集合.这些字段定义可以来自以下两个位置之一: •如果基于从存储库结构中获取的信息生成代码 ...

  8. 【转载】浏览器事件循环机制(event loop)

    首先,本文转自https://juejin.im/post/5afbc62151882542af04112d 当我看完菲利普·罗伯茨的 javascript event loop的演讲的时候,就对于事 ...

  9. mysql loop嵌套_MySQL中Nested-Loop Join算法小结

    数据库中JOIN操作的实现主要有三种:嵌套循环连接(Nested Loop Join),归并连接(Merge Join)和散列连接或者哈稀连接(Hash Join).其中嵌套循环连接又视情况又有两种变 ...

  10. mysql 存储过程 递增_mysql 存储过程实例 (日期以小时递增 while loop循环嵌套 随机数生成)...

    直接上代码: DELIMITER $$ drop procedure if exists proc_test$$ create procedure proc_test() begin declare ...

最新文章

  1. Linux 安装 Pycharm
  2. centos7查看安装的是64位系统还是32位系统---linux工作笔记043
  3. 随想录(png的读取和显示)
  4. c语言居中三角形乘法表,用C语言输出四种三角形的九九乘法表
  5. 达观杯文本智能处理(2)
  6. 2月20日 阻尼牛顿法,拟牛顿法(Quasi-Newton Methods)及各种具体实现方法,共轭梯度法(Conjugate Gradient)
  7. 微信小程序开挂模式即将启动
  8. 服务器 支持sata硬盘,服务器SAS硬盘背板能插SATA硬盘吗?
  9. 学习心得 Tianmao 篇 RecyclerView.Adapter 我自己的使用理解(类组合模式)
  10. watch和computer的区别
  11. [快速学会Swift第三方库] SwiftyJSON篇
  12. 瀚高数据库安全配置要求
  13. 转载.NET技术-.NET各大网站-编程技术网址 - Road - 博客园
  14. 使用Scala实现Either数据结构
  15. Python轻松实现地图可视化(附详细源码)
  16. 周杰伦出道20周年,相关.fans域名等你来抢注~
  17. 零知识证明在区块链中的应用
  18. 从初级到资深:程序员的职业生涯思考与可迁移技能培养
  19. android集成科大讯飞语音听写和语音合成
  20. 电脑计算机怎么没有桌面显示器,电脑显示器没有全屏显示怎么解决

热门文章

  1. SWUST OJ#971 #972 返回二叉树宽度和深度
  2. 计算机组成原理-机器数、浮点数
  3. ios开发 c语言打包.a文件,【转】IOS静态库a文件制作流程
  4. 三维空间中的旋转--旋转向量
  5. linux下的mkfifo 命令
  6. c语言程序设计罗朝盛第三版,c语言程序设计罗朝盛总复习.ppt
  7. linux系统读写eth网卡PHY寄存器工具mdio_cmd
  8. IE浏览器兼容性模式
  9. linux下mysql可视化工具安装
  10. pgsql:添加注释与查询注释