ZCMU 1208 資料結構

2021-07-25 17:39:04 字數 1627 閱讀 5375

time limit: 1 sec  

memory limit: 128 mb

submit: 121  

solved: 33 [

submit][

status][

web board]

你有乙個奇怪的資料結構,他可能是棧(stack),佇列(queue),優先佇列(priority_queue),或者其他什麼奇怪的東西。

假設有n個元素依次進入這個資料結構,並且知道這些元素出去的順序,你能告訴我這個資料結構是什麼嗎?

輸入包括多組測試資料,每組測試資料的第一行為乙個正整數n(1<=n<=1000),第二行包括n個整數代表進入的順序,第三行也有n個整數代表出去的順序。

對於每組測試資料,輸出可能的資料結構名字。如果有多個資料結構滿足,則按順序輸出。若沒有資料結構滿足,則輸出「none」。3

1 2 3

1 2 3 3

1 2 1

1 2 1

queue priority_queue

stack queue

【解析】

此題的話需要知道優先佇列是怎麼輸出的有兩種輸出可以自定義,先讓小的元素先輸出,另一種是讓大的元素先輸

出,然後我們直接模擬就好了我是把所有的可能性都列舉出來了。

#include#include#include#include#includeusing namespace std;

vectora,b;

bool cmp(int a,int b)

int main()

; int d[1010]=;

a.clear();

b.clear();

for(i=0;ifor(i=0;isort(c,c+n);

for(i=0;iif(count==n)//優先佇列

flag1=1;

count=0;

for(i=0;iif(count==n)

flag2=1;//佇列

count=0;

for(i=0;iif(count==n)

flag3=1;//棧

sort(c,c+n,cmp);

count=0;

for(i=0;iif(count==n)

flag4=1;

if((flag1==1||flag4==1)&&flag2==1&&flag3==0)

else if((flag1==1||flag4==1)&&flag2==0&&flag3==0)

else if((flag1==1||flag4==1)&&flag2==1&&flag3==1)

else if(flag1==0&&flag2==0&&flag3==0&&flag4==0)

else if(flag1==0&&flag4==0&&flag2==0&&flag3==1)

else if(flag1==0&&flag4==0&&flag2==1&&flag3==0)

else if((flag1==1||flag4==1)&&flag2==0&&flag3==1)

else if(flag1==0&&flag2==1&&flag3==1&&flag4==0)

}return 0;

}

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...

資料結構 01 資料與資料結構

1.資料data 資料是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。2.資料元素data elements 資料元素是組成資料的 有一定意義的基本單位,在計算機中通常作為整體進行處理。3.資料物件data object 資料物件是性質相同的資料元素的...