栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

1020. 铁路调度

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1020. 铁路调度



思路:
一开始一直没有什么想法,一直试图从相邻的弹出的数的数据范围上去着手(的确是格局小了
然后度娘了一下,原来这种题目,完全可以借助一个辅栈,把题目所给的弹出顺序倒着存在一个辅栈中,每次入栈都判断一下是否是辅栈的栈顶,如果是的话就弹出。
这道题目在写法上并不困难,主要是思路,但是现在想想判断的工作完全交给计算机去处理,好像是比较合理的,可能因为之前没有接触过,所以导致很长一段时间都没有什么想法。

#include 
#include 
using namespace std;
int n,a[111];
struct STACK
{
	int top,data[1111111];
	void init()
	{
		top=0;
	}
	int size()
	{
		return top;
	}
	void pop()
	{
		top--;
	}
	void push(const int &x)
	{
		top++;
		data[top]=x;
	}
}st1,st2;
int main()
{
	cin>>n;
    for(int i=1;i<=n;i++)
    {
		int k;
		char c;
        cin>>k;
		for(int i=1;i<=k;i++)
		{
			cin>>c;
			st1.data[k+1-i]=c-'0';
			//cout<<"st1.data[k+1-i]="< 

更系统化的形式:

#include 
#include 
using namespace std;
int n,a[111];
struct STACK
{
	int cnt,data[1111111];
	void init()
	{
		cnt=0;
	}
	int top()
	{
		return data[cnt];
	}
	int size()
	{
		return cnt;
	}
	void pop()
	{
		cnt--;
	}
	void push(const int &x)
	{
		cnt++;
		data[cnt]=x;
	}
}st1,st2;
int main()
{
	cin>>n;
    for(int i=1;i<=n;i++)
    {
		int k;
		char c;
        cin>>k;
		for(int i=1;i<=k;i++)
		{
			cin>>c;
			st1.data[k+1-i]=c-'0';
			//cout<<"st1.data[k+1-i]="<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311730.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号