「洛谷」P1196 银河英雄传说
P1196 银河英雄传说
https://www.luogu.com.cn/problem/P1196
题目描述
杨威利擅长排兵布阵,巧妙运用各种战术屡次以少胜多,难免恣生骄气。在这次决战中,他将巴米利恩星域战场划分成 30000 列,每列依次编号为 1,2,…,300001, 2,\ldots ,300001,2,…,30000。之后,他把自己的战舰也依次编号为 1,2,…,300001, 2, \ldots , 300001,2,…,30000,让第 i 号战舰处于第 i 列,形成“一字长蛇阵”,诱敌深入。这是初始阵形。当进犯之敌到达时,杨威利会多次发布合并指令,将大部分战舰集中在某几列上,实施密集攻击。合并指令为 M i j
,含义为第 i 号战舰所在的整个战舰队列,作为一个整体(头在前尾在后)接至第 j 号战舰所在的战舰队列的尾部。显然战舰队列是由处于同一列的一个或多个战舰组成的。合并指令的执行结果会使队列增大。
然而,老谋深算的莱因哈特早已在战略上取得了主动。在交战中,他可以通过庞大的情报网络随时监听杨威利的舰队调动指令。
在杨威利发布指令调动舰队的同时,莱因哈特为了及时了解当前杨威利的战舰分布情况,也会发出一些询问指令:C i j
。该指令意思是,询问电脑,杨威利的第 i 号战舰与第 j号战舰当前是否在同一列中,如果在同一列中,那么它们之间布置有多少战舰。
作为一个资深的高级程序设计员,你被要求编写程序分析杨威利的指令,以及回答莱因哈特的询问。
输入描述
第一行有一个整数 T(1≤T≤5×1051 \le T \le 5 \times 10^51≤T≤5×105),表示总共有 T 条指令。
以下有 T 行,每行有一条指令。指令有两种格式:
M i j
:i 和 j 是两个整数(1≤i,j≤300001 \le i,j \le 300001≤i,j≤30000),表示指令涉及的战舰编号。该指令是莱因哈特窃听到的杨威利发布的舰队调动指令,并且保证第 i 号战舰与第 j 号战舰不在同一列。C i j
:i 和 j 是两个整数(1≤i,j≤300001 \le i,j \le 300001≤i,j≤30000),表示指令涉及的战舰编号。该指令是莱因哈特发布的询问指令。
输出描述
依次对输入的每一条指令进行分析和处理:
如果是杨威利发布的舰队调动指令,则表示舰队排列发生了变化,你的程序要注意到这一点,但是不要输出任何信息。
如果是莱因哈特发布的询问指令,你的程序要输出一行,仅包含一个整数,表示在同一列上,第 i 号战舰与第 j 号战舰之间布置的战舰数目。如果第 i 号战舰与第 j 号战舰当前不在同一列上,则输出 -1。
样例
#1
4
M 2 3
C 1 2
M 2 4
C 4 2
-1
1
提示
解析
不得不说,这题我在 AcWing 过了,但在洛谷没过,一直 WA 爆零(同一份代码),经过数个小时的努力,我发现洛谷用 br.read()
居然会读入错误,就是不报错,只是读入的东西奇奇怪怪的,不是我想要的。
「洛谷」P1196 银河英雄传说相关推荐
- 洛谷 P1196 银河英雄传说
题目描述 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦 创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争.泰山 ...
- 洛谷P1196 银河英雄传说
题目大意: 一些战舰,初始时每个都在自己编号对应的队列中,现在有两个操作 : M a b:把a战舰所在的队列顺序不变的接到b战舰所在队列尾部 C a b:询问a b在同一个队列之间的距离 如果a b不 ...
- 「洛谷」P1406 方格填数
P1406 方格填数 https://www.luogu.com.cn/problem/P1406 题目描述 给一个n 的方格矩阵,还有 n*n个整数,让你将这些整数填入矩阵,使得每行每列每个对角线上 ...
- 「纪念碑谷」你不知道的 8 个故事
2014 年最受好评的游戏「纪念碑谷」终于在豌豆荚「应用发布会」栏目发布官方正式 Android 版了.本次国内正版集合了原作和「被遗忘的海岸」资料片在内的全部 18 个关卡. 或许在此之前,你早已经 ...
- 开发2年半,「纪念碑谷」的团队做了一款开放世界“观鸟”游戏
如果你随便抓一个路人问他/她在手机上玩过最有艺术感的游戏是什么,相信大概率会得到的答案是「纪念碑谷」. 这款由英国Ustwo Games在2014年公布的作品极具个性和创意,在当时一众良莠不齐的移动游 ...
- 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心
题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi,地面的高度是 h_0 = 0 ...
- 【NOIP2002】银河英雄传说
本题在洛谷上的链接:https://www.luogu.org/problemnew/show/P1196 又是一道带权并查集的题,没太多难度,就是吧... 为了提高代码能力,换了一种更松散的代码风格 ...
- 「洛谷P1343」地震逃生 解题报告
P1343 地震逃生 题目描述 汶川地震发生时,四川XX中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带, ...
- 并查集:P1196 [NOI2002] 银河英雄传说
传送门 带权并查集最棒了 dep记录深度,size记录集合大小 转移见代码 #include<cstdio> #include<algorithm> #include<i ...
- 「洛谷2495」「BZOJ3052」「SDOI2001」消耗战【虚树+树形动态规划】
题目大意 给你\(k\)个点,让这一些点和一号节点断开,删去某一些边,求最小的删去边权之和. 做题的心路历程 做了\(HG\)昨天的模拟赛,深深感觉到了窝的菜,所以为了\(A\)掉T1这一道毒瘤,窝就 ...
最新文章
- thin还是thick?虚拟磁盘格式的选择题
- mysql DDL语句
- html怎么设置图片倾斜度,CSS3-css如何使图片倾斜45度显示
- Ecplise中的Maven项目提示找不到jar包
- CString与std::string unicode下相互转化
- 2019\Province_C_C++_B\试题F-特别数的和
- strace 哇,好多系统调用
- readonly(C# 参考)
- qt tabwidget 设置tab 位置_qml创建TabWidget的案例
- 《疯狂的站长》读后感3
- 8000401a 因为配置标志不正确 错误及解决办法
- Python打字练习程序
- 简单快速把EditPlus添加到右键菜单中
- FST(Finite-State Transducer) 原理
- 记录matlab符号方程符号解求法
- LAMMPS模拟in和data文件集合
- 达人评测 i5 13500h和1240p选哪个好 i5 13500h和1240p对比
- 2022 年最值得学习的 10 种编程语言 [更新]
- android6.0在状态栏添加一键截屏
- 基于机器学习的车牌识别系统
热门文章
- 英语魔法师之语法俱乐部阅读笔记
- Required request body is missing 问题解决
- 华为hcie认证工程师设备无故ARP报文丢弃配置
- 计算机二级答题技巧口诀,计算机二级考试复习技巧:考场答题经验分享
- Python爬虫系列之全国邮编区号爬取
- ip代理 12-02-03
- php alt什么意思,img标签的alt属性是什么意思?
- 进阶实验5-3.2 新浪微博热门话题 (30 分)
- 体验服务器windows系统,怀旧经典:Windows 3.0操作系统体验
- 干货丨面向新基建,安全厂商都准备了哪些前瞻性的“武器”?