小X與佇列

2021-09-05 09:50:43 字數 1024 閱讀 4792

題目描述

小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 3

2 3 2

樣例輸出

2 3 1 4
提示

樣例解釋

第一條指令前:1 2 3 4

第一條指令後(x=2):2 1 3 4

第二條指令後(x=3):3 2 1 4

第三條指令後(x=2):2 3 1 4

資料範圍

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

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

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

#include #include using namespace std;

int a[100005],b[100005],c[100005];

int main()

for(i=m;i>=1;i--)

}printf("%d",c[1]);

for(i=2;i<=x;i++)

printf(" %d",c[i]);

for(i=1;i<=n;i++)

printf("\n");

return 0;

}

開始寫得超時了

小X與佇列

題目 時間限制 1 sec 記憶體限制 128 mb 提交 125 解決 65 小x正和同學們做列隊的練習。有n名同學排成一路縱隊,編號為i的同學排在從前往後數第i個位置上,即 初始時的隊列為1,2,3,n。接下來小x會發出若干條指令,每條指令形如 請編號為x的同學排到最前面來 例如 若當前時刻的隊...

2023年常州市 小X與佇列 queue

題目描述 小x正和同學們做列隊的練習。有n名同學排成一路縱隊,編號為i的同學排在從前往後數第i個位置上,即 初始時的隊列為1,2,3,n。接下來小x會發出若干條指令,每條指令形如 請編號為x的同學排到最前面來 例如 若當前時刻的隊列為5,4,3,2,1,發出一條x 2的指令後,佇列變成了2,5,4,...

小X與遊戲(策略)

時間限制 1 sec 記憶體限制 128 mb 題目描述 小x和小y正在玩乙個遊戲,這個遊戲是這樣的 桌上放著n疊卡片,每疊恰好有兩張。每張卡片有乙個分數。小x為先手,雙方輪流操作。輪到一方操作時,他可以選擇取走某一疊卡片頂端的那一張 即 若這一疊還剩2張則取走上面的一張,否則取走下面的一張 並獲得...