经过深思熟虑之后,小贱君打算去M国闯一闯,那是一个古老的东方国度,传说有很多高阶魔法师,他想成为一名伟大的魔法师,将来征服星辰大海。
经过千辛万苦,小贱君终于来到了M国,不幸的是刚进城门小贱君就被M国的守城士兵困在了一种叫做“困兽之斗”的阵法之中。
士兵对小贱君说:“看到漂浮在你身边的宝石了吗?彩虹连接的两颗宝石可以任意交换位置,你需要通过一系列交换后使得宝石组成的字符串的字典序最小。若不能破阵,那还是请回吧!”
小贱君观察了一下周围的宝石,只见每颗宝石上标有一个小写字母,而且有一些宝石上通过彩虹与其他宝石相连。
琢磨了半天,他终于搞懂了这个阵法的意思:
若宝石系列为:dcba
其中有两道彩虹,分别是(0,1),(1,2),代表第一个位置上的宝石可以和第二个位置上的宝石互换,第二个位置上的宝石可以和第三个位置上的宝石互换,最终可以得到字典序最小的宝石系列:bcda。
作为小贱君的死党,你有什么方法帮助他破阵吗?

输入描述:

输入包含多组测试数据。
对于每组测试数据:
字符串s --- 代表宝石序列
n --- 代表有n条彩虹
接下来n行,每行两个数ai,bi --- 表示ai和bi由一条彩虹相连。
保证:
1<=s的长度<=10000
1<=n<=10000
且输入数据均合法。

输出描述:

对于每组数据,输出一个字符串

输入例子:
dcba
2
0 1
1 2
hellonowcoder
4
0 1
1 4
2 5
2 3
输出例子:
bcda
ehllonowcoder思路:
并查集 + 排序
把能互相连通的字母,进行排序

[编程题] 困兽之斗相关推荐

  1. [JS] [编程题] 配置文件恢复

    [编程题]配置文件恢复 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M 链接:https://www.nowcoder.com/questionTerminal/ ...

  2. Linux编程题:信号量同步三进程依次打印若干次ABC

    三个进程依次打印ABC..... 思路及大致流程如下: 思路取自这位大哥: Linux编程题:创建3个线程分别打印abc,用信号量进行同步_cleverlemon的博客-CSDN博客 这位大哥写的是线 ...

  3. c语言编程题餐饮服务打分,求详细分析C语言题餐饮服务质量调查打分题和答案..._质量员考试_帮考网...

    bangsaizhuo 新兵答主 11-09 TA获得超过6761个赞 二.填空题 1. ___变量__是指在程序运行过程中,值可以发生变化的量. 2.C语言是一种____区分_(区分/不区分)字母大 ...

  4. 数据结构面试题编程题_您下次编程面试时应该了解的顶级数据结构

    数据结构面试题编程题 by Fahim ul Haq 通过Fahim ul Haq Niklaus Wirth, a Swiss computer scientist, wrote a book in ...

  5. java在线编程题_阿里笔试题(2017在线编程题)-- 数串分组 --Java实现

    看到有人写了阿里的面试题,心里痒痒,好久 没搞过这些了,写着实现一下 题目 2017年3月阿里在线编程题(实习内推) 给定一串数字 判断是否存在这三个元素,它们将数字串分为四个子串,其中每个子串的数字 ...

  6. JavaScript初学者编程题(25)

    JavaScript初学者编程题(25) 题目:给定一个字符串,请将字符串里的字符按照出现的频率降序进行重新排列并返回 第一种方法,利用对象和数组 JavaScript部分 var str = &qu ...

  7. JavaScript初学者编程题(24)

    JavaScript初学者编程题(24) 题目:给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量.返回最富有客户 ...

  8. JavaScript初学者编程题(23)

    JavaScript初学者编程题(23) 题目:给你一个字符串 S,请你删去其中的所有元音字母( 'a','e','i','o','u'),并返回这个新字符串 HTMl部分 <input typ ...

  9. JavaScript初学者编程题(22)

    JavaScript初学者编程题(22) 题目:利用递归方法求5! JavaScript部分 function getNum(num) {if(num < 2){return 1;}else{r ...

最新文章

  1. Go在windows10 64位上安装过程
  2. Roger Ver:BCH比BCE更适合机构投资者
  3. Visual Studio 2017 15.8概览
  4. C语言程序设计模拟卷,C语言程序设计(上)模拟卷
  5. python 搭建web应用程序_用Python构建数据科学Web应用程序
  6. vs2010 利用DMP文件、pdb文件查找release下的异常行号的方法
  7. 【数据结构与算法】之深入解析“排序链表”的求解思路与算法示例
  8. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 24丨找到连续区间的开始和结束数字【难度中等】​
  9. Node操作Mysql的简单例子
  10. CentOS上快速安装Oracle11g数据库
  11. 数据保护法规可被滥用于人肉 GitLab 用户和接管账户
  12. python列表中存类对象_python中对类的操作,怎么增加或删除类中的对象呢?比如下面这个题...
  13. 树形dp贪吃的九头龙(vijos1523)
  14. 常用触摸屏485通讯引脚及下载口
  15. 获取TrustedInstaller权限
  16. Oracle GoldenGate for Oracle 11g(Solaris 10 x86-64) to Oracle 10g(CentOS 4.8) configuration
  17. linux中的各文件的颜色含义
  18. 淘金网UCskype即时通讯软件定制
  19. android anr 分析方法,Android ANR分析
  20. 飞冰 前端开发的一些坑

热门文章

  1. 我的世界服务器个体值怎么修改,我的世界神奇宝贝个体值指令 | 手游网游页游攻略大全...
  2. 格局大小决定你的人生高度---the height of your life depends on the size of your life pattern.
  3. 记录第一次因为技术出差(自嘲一番吧)
  4. 可敬可悲硅谷人 科技富豪失乐园
  5. 中兴OLT ZXA10 C200 V1.1.3P2T6固件
  6. 我的世界java版mac切视角_我的世界怎么视角切换攻略 第三人称视角
  7. JavaScript实现H5游戏断线自动重连的技术
  8. 开始菜单找不到anaconda,如何做?
  9. c语言中%加字母是啥意思,%C是什么意思? C语言中%c,%s分别代表什么意思?
  10. 2007年中国地方门户网站市场规模达6.1亿元