pntia7-7 软硬车厢交替排列 (40 分)
7-7 软硬车厢交替排列 (40 分)
设车辆厂生产了硬座车厢和软座车厢共n节(混合在一起),要求使用队列的基本操作,编程实现所有硬座车厢和所有软座车厢交替排列。
例如硬座车厢用H来表示,软座车厢用S来表示,
从键盘上输入8节车厢代号为SHHSSHSS ,输出为HSHSHSSS。
若从键盘输入8节车厢代号为SHHSHHSH ,输出为HSHSHSHH。
输入格式:
第一行输入硬座和软座车厢共有的节数,2<=节数<=10; 第二行按节数输入车厢代号。
输出格式:
若车厢节数超出合法范围,输出“ERROR”,否则输出H和S车厢交替排列结果,注意输出结果以H开头。
输入样例:
8
SHHSSHSS
输出样例:
HSHSHSSS
AC代码
#include<iostream>
using namespace std;
struct Queue
{
char *data;
int top;
int base;
};
int InitQueue(Queue &Q)
{
Q.data = new char[10];
Q.top = 0;
Q.base = 0;
return 1;
}
int QueueLength(Queue &Q) //队列长度
{
return (Q.top-Q.base);
}
int EnQueue(Queue &Q,char a) //入队
{
Q.data[Q.top++]=a;
return 1;
}
char DeQueue(Queue &Q)//出队
{
return Q.data[Q.base++];
}
int main()
{
Queue qh;
Queue qs;
InitQueue(qh);
InitQueue(qs);
int num;
cin>>num;
if(num>10||num<2){ //非法结束
cout<<"ERROR"<<endl;
return 0;
}
char ch[50];
cin>>ch;
for (int i = 0; i < num; i++)//H S 分别入队
{
if(ch[i]=='H') EnQueue(qh,ch[i]);
else EnQueue(qs,ch[i]);
}
while (qs.base!=qs.top && qh.base!=qh.top)
{
cout<<DeQueue(qh)<<DeQueue(qs);//同时输出
}
if(qs.base==qs.top){ //更长的队输出
while (qh.base!=qh.top)
{
cout<<DeQueue(qh);
}
}
else{
while (qs.base!=qs.top)
{
cout<<DeQueue(qs);
}
}
cout<<endl;
return 0;
}
pntia7-7 软硬车厢交替排列 (40 分)的更多相关文章
- 未能加载文件或程序集“Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=30a [问题点数:40分,结帖人u010259408]
未能加载文件或程序集“Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=30a [问题点数:40分,结帖人u01025 ...
- 读“40 分,60 分,90 分”
原文链接: http://mp.weixin.qq.com/s?__biz=MzA5MjYyNzY1OQ==&mid=2650901947&idx=1&sn=89af64d3b ...
- java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntim [问题点数:40分,结帖人wangxiaohua_001]
14:56:10.093 WARN!! Error for /butterfly/plugins/zhonghang/UsefulData/save_usefuldata.bshjava.lang.N ...
- PAT 列车厢调度 (25分)(栈和容器的简单应用)
1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧).今天,我们就来实际操 ...
- Setting property 'source' to 'org.eclipse.jst.jee.server [问题点数:40分]
链接地址:http://bbs.csdn.net/topics/390131469 警告: [SetContextPropertiesRule]{Context} Setting property ' ...
- 如何获取网页验证码图片并保存到本地(Java实现) [问题点数:40分,结帖人lanxuezaipiao]
http://bbs.csdn.net/topics/390426978 public static String readCheckImage(HashMap<String, String&g ...
- 如何根据name和value选中radio [问题点数:40分,结帖人zzxap
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <he ...
- 如何判断一条记录什么字段被修改了 [问题点数:40分,结帖人bluesukeke]
查询出来数据,在数据集编辑状态下,如何判断一条记录被修改了,哪些字段被修改了. 可用adoquery的Delta屬性...eg: ClientDataSet1.Delta... PS:POST前是準確 ...
- JFreeChart框架中生成饼状图上怎样显示数据 [问题点数:40分,结帖人GreenLawn]
我用JFreeChart框架生成饼状图,但想把数据信息在饼图上显示,是在饼图内部(即圆内)显示!怎样实现啊?? 去掉lablepieplot.setLabelGenerator(null);去掉线p ...
- 用ClientDataSet更新数据表,怎样自动生成行号? [问题点数:40分]
ClientDataSet.First;while not ClientDataSet.eof dobegin ClientDataSet.edit; ClientDataSet.FieldByN ...
随机推荐
- 为什么 A 能 ping 通 B,B 却不能 ping 通 A ?
有开发小哥咨询了一个问题,记录一下处理过程分享给有需要的朋友. 问题如下: A.B 两台开发服务器连接交换机,并且 A.B 两台服务器的 IP 地址设置为同一个网段,却发现 A 能 ping 通 B ...
- redis常用命令之Hash
redis常用命令之Hash Hash常用命令 redis 可以理解为一个全局的大字典,key就是数据的唯一标识符.对应的key不同,value也不同.redis有5个基本的数据类型. 1 redis ...
- localStorage/sessionStorage/cookie
html5本地存储主要有两种localStorage和sessionStorage 都是使用相同api,存入后都是字符串类型 localStorage和sessionStorage使用方 ...
- 利用python中的win32com模块操作Word、Excel文件
word操作 doc文件转换为docx文件 安装win32com模块:pip3 install pypiwin32 import os from win32com.client import Disp ...
- 新版 Mediasoup Windows 安装 编译
https://vc.feiyefeihua.top/ ps:视频测试demo,服务器配置很低,加载有点慢:需要有音视频设备,不然会报错. 关于官网文档 官网文档地址 只测试了 Windows .讲的 ...
- Text文件颜色渐变
using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEngine.UI;usi ...
- PAT-basic-1021 个位数统计 java
一.题目 给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数.例如: ...
- ConcurrentHashMap在Java8中的变化
增加红黑树这个存储结构 在Java8中,为什么要增加红黑树这种数据结构来进行存储,而不是全部使用链表来进行存储呢? 1.因为攻击者可以构造大量具有相同hashCode的内容,使其全部放在同一个列表中, ...
- ssh 解决远程桌面端口问题
昨天做好今天编辑 先上图 后编辑 需求:因操作失误光猫nat只剩一个可访问命令行的7000端口 前提:7000端口映射内网的22端口,可以登录ssh 解决思路:先vnc安装, gui界面安装 , 然 ...
- redis统计用户活跃数量
1.说明,redis 位图存储节省内存,用户id:156,1333; 如果用户登录,根据日期存储为1 setbit 20209001 156 1 ;//id为156的用户在1月1号登录了 setbit ...