日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Xxy 的车厢调度

發布時間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xxy 的车厢调度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有 一 個 火 車 站 , 鐵 路 如 圖 所 示 ,每輛火車從 A 駛入,

再從 B 方向駛出,同時它的車廂可以重新組合。假設

從 A 方向駛來的火車有 n 節(n<=1000) ,分別按照順

序編號為 1,2,3,…,n。假定在進入車站前,每節

車廂之間都不是連著的,并且它們可以自行移動到 B

處的鐵軌上。 另外假定車站 C 可以停放任意多節車廂。

但是一旦進入車站 C,它就不能再回到 A 方向的鐵軌

上了,并且一旦當它進入 B 方向的鐵軌,它就不能再

回到車站 C。

負責車廂調度的 xxy 需要知道能否使它以

a1,a2,…,an 的順序從 B 方向駛出,請來判斷能否得到

指定的車廂順序。

Input

輸入文件的第一行為一個整數 n,其中 n<=1000,表示有 n 節車廂,第二行為 n 個數字,表

示指定的車廂順序。

Output

如果可以得到指定的車廂順序,則輸出一個字符串”YES”,否則輸出”NO”(注意要大寫,不

包含引號) 。還有,xxy 說了 這題 AC 有糖吃。

Example

train.in train.out

5

5 4 3 2 1

YES

Hint

對于 50%的數據,1<=N<=20。

對于 100%的數據,1<=N<=1000。

思路:。

我們只需要判斷:

1對于每一個進車站的車,如果他比已經進來的所有的車的編號都要大時,需要將比他所有小的車全部進入車站

2如果需要出去的車恰好是第一輛的車,那么讓他出去

3如果需要出去的車的編號小于最大的編號,就輸出NO

?

?

改了n次才AC的代碼:

1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int a[10001]; 5 int stack[10001]; 6 int top=0; 7 int cur=1; 8 int main() 9 { 10 //freopen("train.in","r",stdin); 11 //freopen("train.out","w",stdout); 12 int n; 13 int cur=1; 14 cin>>n; 15 for(int i=1;i<=n;i++) 16 cin>>a[i]; 17 for(int i=1;i<=n;i++) 18 { 19 20 while(cur<=a[i]) 21 { 22 stack[++top]=cur++; 23 //cur++; 24 } 25 if(stack[top]==a[i]) 26 --top; 27 else 28 { 29 cout<<"NO"; 30 return 0; 31 } 32 } 33 printf("YES"); 34 return 0; 35 }

?

總結

以上是生活随笔為你收集整理的Xxy 的车厢调度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。