蒜头君有 n 块积木,编号分别为 1 到 n。一开始,蒜头把第 i 块积木放在位置 i。蒜头君进行 m次操作,每次操作,蒜头把位置 b 上的积木整体移动到位置 a 上面。

比如 1 位置的积木是 1,2位置的积木是 2,那么把位置 2 的积木移动到位置 1 后,位置 1 上的积木从下到上依次为 1,2。

输入格式

第一行输入 2 个整数n,m(1≤n≤10000,0≤m≤10000)。

接下来 m 行,每行输入 2个整数 a,b(1≤a,b≤n),如果a,b 相等则本次不需要移动。

输出格式

输出 nn 行,第 ii 行输出位置 ii 从下到上的积木编号,如果该行没有积木输出一行空行。

样例输入1

2 2
1 2
1 2

样例输出1

1 2

样例输入2

4 4
3 1
4 3
2 4
2 2

样例输出2

2 4 3 1
package 计蒜客;import java.util.ArrayList;
import java.util.Scanner;public class 堆积木 {/*** @param args*/public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();ArrayList<Integer>[] als=new ArrayList[n+1];for(int i=1;i<=n;i++){als[i]=new ArrayList<Integer>();als[i].add(i);}int[][] arr=new int[m][2];for(int i=0;i<m;i++){arr[i][0]=scan.nextInt();//记录a位置arr[i][1]=scan.nextInt();//记录b位置
        }for(int i=0;i<m;i++){int a=arr[i][0];int b=arr[i][1];if(a!=b){als[a].addAll(als[b]);//把b位置的所有元素给a位置
                als[b].clear();}}//System.out.println("==================================");for(int k=1;k<=n;k++){//输出所有的位置上的元素for(int j=0;j<als[k].size();j++){System.out.print(als[k].get(j));if(j!=als[k].size()-1){System.out.print(" ");}}System.out.println();}}}

转载于:https://www.cnblogs.com/henuLiGang/p/8596880.html

堆积木(基本数据结构-ArrayList数组的使用)相关推荐

  1. 堆积木(动态数组vector)

    1.问题描述: 2.算法分析: 这道题目开始看了好久都没看明白,其实题目大概意思是这样. 就是有一排容器,编号为 1,2,3\cdots n1,2,3⋯n,初始时编号为 i的容器有 编号为i的积木. ...

  2. echarts树点击label事件_ECharts 堆积木(砖块)游戏

    最近突发奇想,用 3D 的堆叠柱图,做了一个搭积木的小游戏. 主要思路 用一个几乎透明的 series-bar3D 铺满整个 grid3D,作为操作区,监听鼠标点击事件.完成堆积木的操作: 用多层数据 ...

  3. echarts中树图的label的点击_ECharts 堆积木(砖块)游戏

    最近突发奇想,用 3D 的堆叠柱图,做了一个搭积木的小游戏. 主要思路 用一个几乎透明的 series-bar3D 铺满整个 grid3D,作为操作区,监听鼠标点击事件.完成堆积木的操作: 用多层数据 ...

  4. bzoj 1109: [POI2007]堆积木Klo(二维偏序)

    1109: [POI2007]堆积木Klo Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1139  Solved: 423 [Submit][St ...

  5. 数据结构:数组和链表的区别以及各自的优缺点

    原文地址 http://blog.csdn.net/qq_25806863/article/details/70607204 数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自 ...

  6. 数据结构(数组结构、链表结构)

    本来第一篇文章准备写点关于map的,但是考虑到map中可能也牵扯到数据结构,所以先随便写点就当做铺垫吧! 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合 1.集合 数据结构中的 ...

  7. 51nod3174 堆积木

    3174 堆积木 有 n 种立方体积木,每种积木有无限多个,可以用 a,b,w 来描述,表示长.宽和高. 积木可以搭在一起成为一个塔形,积木 可以放在在积木  上当且仅当,积木 X 底面  可以嵌套进 ...

  8. java 堆和栈 数据结构_数据结构的栈和堆和程序中的堆和栈

    在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到.但对于很多的初学着来说,堆栈是一个很模糊的概念.堆栈:一种数据结构.一个在程序运行时用于存放的地方,这可能是很多初学者的认识 ...

  9. 数据结构之数组和链表的区别

    第一题便是数据结构中的数组和链表的区别 数组(Array) 一.数组特点: 所谓数组,就是相同数据类型的元素按一定顺序排列的集合:数组的存储区间是连续的,占用内存比较大,故空间复杂的很大.但数组的二分 ...

最新文章

  1. Set_uid set_gid stick_bit 软链接 硬链接
  2. 相同bit1的最大的数
  3. php trim用法,php trim函数怎么用?
  4. NET防SQL注入方法
  5. Magento 自定义分页代码 How to change pagination design in product listing page in magen
  6. python 递归遍历目录排序_python下递归遍历目录和文件
  7. 网格向量必须包含特征点。_【专题研究】基于SVM支持向量机模型的选股策略
  8. 笔记︱多种常见聚类模型以及分群质量评估(聚类注意事项、使用技巧)
  9. BZOJ2160 拉拉队排练【Manacher】
  10. 语言余一个负数_Python 中负数取余问题
  11. linux挂载百度云bos,百度云存储对象BOS挂载工具
  12. MMC、SD、TF、SDIO、SDMMC简介
  13. vue前端上传文件给后端的两种方式
  14. PHP论坛开发技术总结
  15. u-boot (1) —— 编译分析
  16. p二、使用 docker-compose 安装 Prometheus+Alertmanager+Grafana
  17. PowerBI网关on-premises data gateway无法登录账号的问题及解决方法
  18. 【SCF CLI实践】腾讯云serverless + 企业微信群机器人,轻松解决告警通知问题
  19. 快速搭建直播平台教程,美颜SDK接入实现多种美颜特效
  20. 二进制文件和文本文件到底有什么不同?(二)

热门文章

  1. 程序员:如何成为一个全栈的工程师?
  2. 学习EF4的一些基础参考资料
  3. Windows中安装Apache2和PHP4权威指南
  4. 【长篇连载】桌面管理演义 第八回 电脑中毒很危险 告警隔离防传染
  5. 协议学习:TCP/IP协议之物理层 上
  6. NetBeans 时事通讯(刊号 # 4 - Apr 22, 2008)
  7. 1.1.2 标准化工作及相关组织
  8. 从源码分析DEARGUI之全选和反选
  9. python 函数练习集锦
  10. 白宫:太空将成美国新反导防御报告重点关注领域