当前位置: 首页 > news >正文

C++-火车编组

Description

货运火车要在编组站根据挂常车厢到达目的地重新分组。

如果一列火车有4节车厢,经过编组后,车厢的编组顺序为3,2,4,1,你知道编组站是怎么编组的吗?

小明到编组站参观后发现编组站的铁路有很多岔道,火车在岔道上来来回回地开动,最后列车编组就完成了。

小明想到了学习过的栈的相关操作,发现火车编组的过程就是由若干进栈、出栈操作构成的。

于是,小明编了一个程序,只要知道最后的编组要求,就能将编组方案输出。

Input

第1行,1个正整数n,n≤100;

第2行,n个小于或等于n的正整数,表示有n节车厢,编号为1,2,3,…,n,编组时按照编号进栈,第2行数据表示列车经过编组后的车厢编号顺序。

Output

一行一个由大写字母A和B构成的字符串,A表示进栈,B表示出栈。表示编组时进栈出栈的操作序列。

Sample Input 1

4
3 2 4 1

Sample Output 1

AAABBABB
#include<iostream>
#include<stack>
using namespace std; 
int n,p=0,x;
int main(){cin>>n;stack<int>train;for(int i=0;i<n;i++){cin>>x;if(train.empty()||train.top()!=x){for(int j=p+1;j<=x;j++){train.push(j);cout<<'A';}p=x;}while(!train.empty()&&train.top()>=x){train.pop();cout<<'B';}}while(!train.empty()){train.pop();cout<<'B';}return 0;
}

http://www.lryc.cn/news/250085.html

相关文章:

  • kafka学习笔记(一)--脑裂
  • 一看就懂的RxJava源码分析
  • halcon中灰度图自动二值化
  • Mybatis-Plus实体类注解怎么用
  • 我是如何写作的?
  • 绩效考核实施之——如何做好部门间绩效的平衡?
  • 全新付费进群系统源码 完整版教程
  • 拉新地推任务管理分销助手公众号开发
  • MySQL三范式
  • 玩转微服务-技术篇-JSDOC教程
  • Android12之logcat日志显示颜色和时间(一百六十七)
  • 【Windows】内网穿透实现hMailServer远程发送邮件
  • 深信服技术认证“SCSA-S”划重点:SQL注入漏洞
  • Leetcode-二叉树oj题
  • 软件磁盘阵列(software RAID)
  • 浏览器安全攻击与防御
  • vue生命周期、工程化开发和脚手架
  • 文件搜索工具HoudahSpot mac中文版特点
  • maven中scope和optional区别
  • 《ChatGPT实操应用大全》探索无限可能
  • 基于helm的方式在k8s集群中部署gitlab - 部署(一)
  • flask web开发学习之初识flask(二)
  • 利用异或、取反、自增bypass_webshell_waf
  • K8s Docker实践三
  • 记录 | pip加速配置
  • HarmonyOS开发—Arkts循环渲染(ForEach)深入运用详解【鸿蒙专栏-16】
  • uniapp挽留提示2.0
  • 电源控制系统架构(PCSA)之系统分区电压域
  • [Linux] 正则表达式及grep和awk
  • ssm+java车辆售后维护系统 springboot汽车保养养护管理系统+jsp