2023年常州市 小X與佇列 queue

2022-09-07 14:15:12 字數 1310 閱讀 4565

題目描述

小x正和同學們做列隊的練習。

有n名同學排成一路縱隊,編號為i的同學排在從前往後數第i個位置上,即:初始時的隊列為1, 2, 3, …, n。

接下來小x會發出若干條指令,每條指令形如「請編號為x的同學排到最前面來」。(例如:若當前時刻的隊列為5, 4, 3, 2, 1,發出一條x=2的指令後,佇列變成了2, 5, 4, 3, 1。)

小x發出了很多很多指令,同學們暈頭轉向不知道該怎麼排列。於是就請你算一算,執行完這些指令後,佇列應該變成什麼樣?

輸入

第一行兩個用空格隔開的正整數n和m,分別表示人數和指令數。

第二行m個用空格隔開的正整數x[i],按順序表示每次指令的x值。

輸出

輸出僅有一行包含n個正整數,相鄰兩個數之間用乙個空格隔開,表示執行完所有指令後的佇列。
樣例輸入

4 32 3 2

樣例輸出

2 3 1 4

資料範圍限制

對於30%的資料,1<=n,m<=1000

對於另外30%的資料,n=m,且1~n每個數在x[i]中恰好出現一次。

對於100%的資料,1<=n,m<=100000

思路:這是真水題,想法也很簡單,直接對於100%的資料,x陣列代表從前往後的變化順序。

我們想,乙個數如果前面變化了一次,後面再變,它是按照最後一次變化,所以,我可以直接從後往前找,找到乙個便標記一下,下次出現便不再輸出,最後再從大到小輸出沒變的數。

上個**:

#include

using

namespace std;

int n,m,bj[

1000005

],a[

1000005];

intmain()

for(

int i=m;i>=

1;i--)}

for(

int i=

1;i<=n;i++)}

fclose

(stdin);

fclose

(stdout);

return0;

}

寫博不易,請發現問題的大佬提出。

**保證正確,請留讚再走。

2019常州市程式設計小能手題目 猜先

小 x 憑藉出色的棋藝被聘請為少年宮的中國象棋老師。少年宮改造以後所有的設施都煥然一新,象棋教室已不再使用傳統的木製棋子和棋盤了,小朋友們所有的操作都是在電腦上進行的,如猜先 對弈 覆盤 計算積分等,這給老師的備課帶來了極大的挑戰,因為除了正常的棋藝教學,還要開發各種應用程式來輔助教學。眾所周知任何...

2023年小程式發展狀況報告

2017首份小程式研究報告發布 工具類最受歡迎 2017年8月12日,由天馬飛燕主辦,wemedia新 集團 bianews 億歐產業創新服務平台 蘇秦院共同發起並聯合主辦的 2017第一屆小程式生態研討峰會 在北京歌華開元酒店順利召開。在會議現場,由智慧型資料平台talkingdata 天馬飛燕 ...

東莞市2023年特長生 T3 工程

一天公司接下一項大型工程,該公司在大型工程的施工前,先要把整個工程劃分為若干個子工程,並把這些子工程編號為1 2 n 1 2 n 1 2 n 這樣劃分之後,子工程之間就會有一些依賴關係,即一些子工程必須在某些子工程完成之後才能施工,公司需要工程師張三計算整個工程最少的完成時間。對於上面問題,可以假設...