VmatrixOJ--[Loop]移动小球
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]移动小球相关推荐
- PICO-8学习日志Week2.0【利用PICO-8制作Pong】
这一篇并不是Dylan书中的内容,是我自己运用了解到的知识做出来的一个游戏--Pong. 对电子游戏历史有过些许了解的朋友应该都比较熟悉这个名字,这就是世界第一款家用游戏,在1972年由雅达利公司制作 ...
- matlab小球水平抛出,如何用Matlab制作小球自由落体运动的动画
第一堂课布置了一个Mission Impossible作业,要求学生们用Matlab制作一个动画,模拟小球的自由落体运动. 以下将整个任务的问题解决的过程分享如下: 步骤一,这是一个动画的制作过程,以 ...
- 【论文】Closing the Sim-to-Real Loop: Adapting Simulation Randomization with Real World Experience
本文主要介绍了对机器手臂动力学参数的分布进行学习,能更有效率的适应真实环境,从而缩小sim to real gap.论文原址: Closing the Sim-to-Real Loop: Adapti ...
- html5使用canvas实现小球碰撞反弹实例
使用 html5 中的 canvas, 实现小球相互碰撞并反弹,反弹算法比较简单. index.html <!DOCTYPE html> <html lang="en&qu ...
- 【鸡年大吉】,不知道写点啥,放个demo(小球碰撞)吧,有兴趣的看看
最初的想法是仿写win7的泡泡屏保效果,但是对于小球的斜碰问题一直没搞明白(如果你会这个,欢迎留言或者做个demo),所以只是简单处理了碰撞后的速度,有时候会看起来很搞笑~~~funny guy 话不 ...
- 2022-2028年中国小球产业深度调研及投资前景预测报告(全卷)
[报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了小球行业相关概述.中国小球行业运行环境.分析了中国小球行业的现状.中 ...
- CodeGen字段循环Field Loop
CodeGen字段循环Field Loop 字段循环是一个模板文件构造,它允许迭代CodeGen拥有的有关字段的集合.这些字段定义可以来自以下两个位置之一: •如果基于从存储库结构中获取的信息生成代码 ...
- 【转载】浏览器事件循环机制(event loop)
首先,本文转自https://juejin.im/post/5afbc62151882542af04112d 当我看完菲利普·罗伯茨的 javascript event loop的演讲的时候,就对于事 ...
- mysql loop嵌套_MySQL中Nested-Loop Join算法小结
数据库中JOIN操作的实现主要有三种:嵌套循环连接(Nested Loop Join),归并连接(Merge Join)和散列连接或者哈稀连接(Hash Join).其中嵌套循环连接又视情况又有两种变 ...
- mysql 存储过程 递增_mysql 存储过程实例 (日期以小时递增 while loop循环嵌套 随机数生成)...
直接上代码: DELIMITER $$ drop procedure if exists proc_test$$ create procedure proc_test() begin declare ...
最新文章
- Linux 安装 Pycharm
- centos7查看安装的是64位系统还是32位系统---linux工作笔记043
- 随想录(png的读取和显示)
- c语言居中三角形乘法表,用C语言输出四种三角形的九九乘法表
- 达观杯文本智能处理(2)
- 2月20日 阻尼牛顿法,拟牛顿法(Quasi-Newton Methods)及各种具体实现方法,共轭梯度法(Conjugate Gradient)
- 微信小程序开挂模式即将启动
- 服务器 支持sata硬盘,服务器SAS硬盘背板能插SATA硬盘吗?
- 学习心得 Tianmao 篇 RecyclerView.Adapter 我自己的使用理解(类组合模式)
- watch和computer的区别
- [快速学会Swift第三方库] SwiftyJSON篇
- 瀚高数据库安全配置要求
- 转载.NET技术-.NET各大网站-编程技术网址 - Road - 博客园
- 使用Scala实现Either数据结构
- Python轻松实现地图可视化(附详细源码)
- 周杰伦出道20周年,相关.fans域名等你来抢注~
- 零知识证明在区块链中的应用
- 从初级到资深:程序员的职业生涯思考与可迁移技能培养
- android集成科大讯飞语音听写和语音合成
- 电脑计算机怎么没有桌面显示器,电脑显示器没有全屏显示怎么解决