a040. 喵們想吃飯

中等資料結構

時間限制 1000 ms ・ 記憶體限制 256 MB

題目描述

一年一度的喵喵黑客松又開始了!今年參加活動的貓咪們異常的多,如果讓直接發放午餐給大家會非常混亂。因此,身為工作人員的喵主規劃了一個特別的「單向領餐通道」,希望讓貓咪們能井然有序地領到午餐。

一開始,有 NN 隻參賽的貓咪,編號分別為 11 到 NN。所有貓咪一開始都在工作區,並按照編號 1,2,…,N1, 2, \dots, N 的順序排成一列(編號小的在最前面)。

領餐通道有以下幾點特性:

  1. 貓咪們只能從工作區依次進入領餐通道。
  2. 因為領餐通道是單向狹長的走道,先進入通道的貓咪,必須等後進入的貓咪領完餐離開後才能出來。
  3. 一旦貓咪拿到午餐離開通道回到工作區,就不能再進入通道或重新排隊;貓咪一旦進入通道,也不能倒退回工作區的排隊隊伍中。
  4. 領餐通道的空間很大,可以容納所有貓咪。

主辦單位希望貓咪們拿到午餐回到工作區時能呈現特定的順序。請寫一個程式,檢測是否能透過這個領餐通道的調度,讓貓咪們以指定的順序依序領完午餐。

輸入格式

輸入的第一行包含一個正整數 TT (1≤T≤101 \le T \le 10),代表共有幾組測試資料。 每組測試資料共有兩行:

  • 第一行包含一個整數 NN (1≤N≤1051 \le N \le 10^5),代表貓咪的數量。
  • 第二行包含 NN 個整數,內容為 1,2,…,N1, 2, \dots, N 的任意排列,代表主辦單位希望貓咪最終領完午餐的順序。

輸出格式

對於每組測試資料,輸出該排列是否可能達成。如果可能,請輸出 Yes;若不可能,則輸出 No。

配分方式

N<=10N<=10 :60分

N<=1000N<=1000 :20分

N<=100000N<=100000 :20分

配分方式

子題配分比對方式
子題 160 分完整輸出需完全正確
子題 220 分完整輸出需完全正確
子題 320 分完整輸出需完全正確

範例測資

範例輸入 1

4
5
1 2 3 4 5
5
5 4 3 2 1
5
5 4 1 2 3
7
4 5 3 7 6 2 1

範例輸出 1

Yes
Yes
No
Yes
請先登入後再提交程式碼

討論與題解

載入討論區…

更多