> 文档中心 > C++ 火车编组

C++ 火车编组


📋 个人简介

🎉大家好,我是3月份新人榜排名第三的 ༺Blog༒Hacker༻
💬支持我:点赞👍+收藏⭐️+留言📝
🌺格言:༺永做优质༒programmer༻

📣火车编组

🔥问题描述

❄️货运火车要在编组站根据挂靠车厢到达目的地重新分组。
❄️如果一列火车有4节车厢,经过编组后,车厢的编组顺序为3,2,4,13,2,4,1,你知道编组 站是怎么编组的吗?
❄️小明到编组站参观后发现编组站的铁路有很多岔道,火车在岔道上来来回回地开动,最后列车编组就完成了。
❄️小明想到学习过的栈操作,发现火车编组的过程就是由若干进栈、出栈操作构成的。于是,小明编了一个程序,只要知道最后的编组要求,就能将编组方案输出。

🔥输入格式

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

🔥输出格式

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

🔥输入样例

43 2 4 1

🔥输出样例

AAABBABB

🔥数据规模与约定
❄️n≤1000

💯CODE

#includeusing namespace std;char c[1005];int top=0;int main(){int n,p,cnt=0;cin>>n;for(int i=1;i<=n;++i){cin>>p;while(c[top]!=p){cnt++;c[++top]=cnt;cout<<"A";}if(top>0 && c[top]==p){top--;cout<<"B";}    }return 0;}

🔮朋友们,点赞是我更新的动力,明天再见,拜拜!!!