蒜头君有 nnn 块积木,编号分别为 111 到 nnn。

一开始,蒜头把第 iii 块积木放在位置 iii。

蒜头君进行 mmm 次操作,每次操作,蒜头把位置 bbb 上的积木整体移动到位置 aaa 上面。

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

输入格式

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

接下来 mmm 行,每行输入 222 个整数 a,b(1≤a,b≤n)a, b(1 \le a, b \le n)a,b(1≤a,b≤n),如果aaa,bbb 相等则本次不需要移动。

输出格式

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

样例输入

2 2

1 2

1 2

样例输出

1 2

样例输入

4 4

3 1

4 3

2 4

2 2

样例输出

2 4 3 1

代码

#include<iostream>
//#include <bits/stdc++.h>
#include<vector>
using namespace std;
int main()
{int n,m,a,b,i,j;cin>>n>>m;vector<int> vec[10010];for(i=1;i<=n;i++)vec[i].push_back(i);for(i=0;i<=m;i++){cin>>a>>b;if(vec[b].empty() || a==b)continue;else{for(i=0;i<vec[b].size();i++)vec[a].push_back(vec[b][i]);vec[b].clear();{vector<int> V;vec[b].swap(V); } }}for(i=1;i<=n;i++)if(vec[i].empty())cout<<endl;else{for(j=0;j<vec[i].size();j++)if(j==vec[i].size()-1)cout<<vec[i][j]<<endl;elsecout<<vec[i][j]<<" ";}    return 0;
}

数据结构-3 堆积木相关推荐

  1. 堆积木(基本数据结构-ArrayList数组的使用)

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

  2. 算法(4)数据结构:堆

    1.0 问题描述 实现数据结构:堆. 2.0 问题分析 堆一般使用数组来表示,其中某个节点下标i的两个子节点的下标为 2i+1 和 2i+2.堆是一棵完全二叉树. 堆有3种基本操作:创建,插入,删除. ...

  3. 数据结构,堆和栈和队列的概念

    数据结构,堆和栈和队列的概念 1 什么是数据结构 数据结构是计算机存储,组织数据的反复改.数据结构是指相互之间存在的一种或多种特定关系的数据元素集合. 2 数据结构的逻辑结构 1 集合结构,元素都是孤 ...

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

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

  5. ps随机排列_漂亮!自然材料:人工可控微米级胶体粒子“堆积木”——粒子随心所欲的组装排列!...

    堆积木俨然已经成为了幼儿教育必备课程,通过堆积木可促进幼儿大脑发育.利用形状相同的基元可组装出各种不同结构,同时也可以通过不同基元之间的匹配组装更加新颖的结构.由于堆积木的组装灵活性,这一概念也被科研 ...

  6. 数据结构之堆的插入、取值、排序(细致讲解+图片演示)

    数据结构之堆(Heap):插入.取值.排序. 堆是一种数据结构,分为最小堆和最大堆,可以用二叉树来表示. 在二叉树的任意的一个三角结构中(一个父节点,两个子节点),需要满足以下两个条件: 1.父节点要 ...

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

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

  8. (十)数据结构之“堆”

    数据结构之"堆" 堆是什么? JS中的堆 堆的应用 第K个最大元素 LeetCode:215.数组中的第K个最大元素 LeetCode:347.前K个高频元素 LeetCode:2 ...

  9. 春春幼儿园堆积木大赛_春云边车

    春春幼儿园堆积木大赛 我有一个部署到基于NetflixOSS的云的应用程序,该应用程序具有以下结构: 本质上是一种将信息持久保存到Cassandra集群的服务. 所有应用程序都已注册到Eureka – ...

最新文章

  1. java远程桌面图片压缩问题_java用Socket实现的远程桌面浏览 内存溢出问题
  2. 如何处理SAP HANA Web-Based Development Workbench的403 Forbidden错误
  3. 云计算与分布式系统课程学习笔记(二)——Linux基本命令的使用与熟悉
  4. 开发黑名单功能demo_突然让你开发Electron应用-electron特性练习操场-所见即所得的electron...
  5. Java(随笔)——利用HTML,CSS,JavaScript,JQuery编写的简易计算器
  6. 洛谷—— P1018 乘积最大
  7. JavaScript事件串连执行多个处理过程的方法
  8. Window open使用教程
  9. node mysql菜鸟教程_Node.js Web 模块
  10. 解决IE浏览器无法显示VUE项目的方法
  11. 八年开心网,它的是非功过都在这里了
  12. Android aseats 加密,A SEAT
  13. linux系统路由器地址查询,查找路由器登录IP地址指南
  14. 骨骼动画程序原理介绍
  15. 附加组 Linux,Linux用户组之主组和附加组
  16. gocron mysql_[日常] gocron源码阅读-使用go mod管理依赖源码启动gocron
  17. Oracle同义词的好处
  18. bp神经网络需要多少样本,bp神经网络训练时间
  19. 学习云计算技术前景在哪里?云计算技术发展趋势
  20. mysql聚合函数bit_and,聚合函数

热门文章

  1. 剑指核心-TaoCloud全闪SDS助力构建高性能云服务
  2. 爷青回!用原生 Audio API 实现一个千千静听
  3. 跟着大佬上大分-Web of Lies
  4. java 获取下周一日期
  5. 如何选一款适合企业的进销存软件?这款软件推荐给你
  6. 计算机专业就业自我推荐意见,计算机科学与技术专业自荐书
  7. 为什么程序员应该有一台 Mac 个人电脑
  8. 2022-01-26 Android app java 获取设备制造商的方法:Build.MANUFACTURER,实际上是读ro.product.manufacturer的值。
  9. vi下Makefile的自动生成
  10. 基于pyqt编写的高校bbs发帖辅助软件和双色球号码生成器