車站排程問題

2021-06-09 11:50:50 字數 1462 閱讀 8481

題目描述

有順序排列的1,2, 3,…,n節車廂在入站口等待排程。車站設定了乙個棧作為緩衝,這樣的話只可能進行下列兩個操作之一:

(1)如果還有車廂在入站口,將最前面的入棧緩衝

(2)將棧頂的車廂駛出車站   

給定乙個1至n的排列,問其作為出站序列是否合法。

注意:入站順序為1,2, 3,…,n,即1先入棧...,n最後入棧。

輸入輸入包含若干測試用例。每乙個測試用例由多行組成。第一行是兩個整數n(1<=n <= 100)和m,n表示入站序列為1至n。m表示隨後有m行出站序列。

當n,m均為0時表示輸入結束。

輸出對應每乙個出站序列,合法則輸出一行yes,否則輸出一行no。

樣例輸入

3 61 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1

0 0樣例輸出

yesyes

yesyes

noyes

#include#include#include#includeusing namespace std;

#define ok 1

#define overflow -2

#define error 0

#define true 1

#define false 0

#define stack_init_size 100

#define stackincrement 10

typedef int status;

typedef int selemtype;

typedef struct sqstack;

status initstack(sqstack &s)

/*status destroystack(sqstack &s)

return ok;

}status clearstack(sqstack &s) */

status stackempty(sqstack s)

status gettop(sqstack s,selemtype &e)

status push(sqstack &s,selemtype e)

*s.top++=e;

return ok;

}status pop(sqstack &s,selemtype &e)

/* check the stack out seqence is valid or not

** return value:

* >0 : valid

* =0 : invalid

* <0 : error occured

*/int check_valid (char in, char out, int length)

}return 0;

}

火車站排程問題

題目要求 1.問題 一列火車要將n節車廂分別送往n個車站,車站按照n,n 1,1的編號次序經過車站。假設車廂的編號就是其目的地車站的編號。2.要求 給定乙個任意的車廂排列次序。重新排列車廂,使其按照從1到n的次序排列。規定重排排程時車廂只能從入軌到緩衝鐵軌,或者從緩衝鐵軌到出軌。include in...

車站建造問題

題目大意 有108個村莊排在一條公路上,依次編號為0 108 1,相鄰村莊距離為1,其中有n個村莊居住著牛牛,居住著牛牛的村莊從小到大依次為a0 an 1,其中保證a0 0.現在需要建設車站,有兩個要求必須被滿足 1 每個有牛牛居住的村莊必須修建車站。2 相鄰車站的距離必須為1或為某個質數。現給出n...

火車站臺問題

今天流利說筆試火車站臺問題,很簡單的問題,但是我二十分鐘沒做出來,其中遇到了兩個bug,參考迭代器iterator在遍歷時能remove但是不能往集合裡新增元素問題 list集合根據索引刪除資料時用另乙個list集合的資料當索引操作失敗問題即list.remove list1.get index 這...