網易有道2017內推程式設計題 構造佇列 模擬

2021-07-16 23:34:19 字數 571 閱讀 3174

小明同學把1到n這n個數字按照一定的順序放入了乙個佇列q中。現在他對佇列q執行了如下程式:

while(!q.empty())              //佇列不空,執行迴圈

做取出隊頭的值操作的時候,並不彈出當前隊頭。

小明同學發現,這段程式恰好按順序輸出了1,2,3,…,n。現在小明想讓你構造出原始的佇列,你能做到嗎?

反過來推回去就行了。

#include

const

int maxn=3e5+5;

const

int maxm=1e5+5;

int que[maxn];

int ans[maxm];

int main()

int l=0,r=n,fl=1;

while(true)

int nowr=r-(r&1);

for(int i=l;iif((i-l)&1)else

}l=nowr;

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

}return

0;}

網易有道2017內推程式設計題

1.洗牌 洗牌在生活中十分常見,現在需要寫乙個程式模擬洗牌的過程。現在需要洗2n張牌,從上到下依次是第1張,第2張,第3張一直到第2n張。首先,我們把這2n張牌分成兩堆,左手拿著第1張到第n張 上半堆 右手拿著第n 1張到第2n張 下半堆 接著就開始洗牌的過程,先放下右手的最後一張牌,再放下左手的最...

網易有道2017內推程式設計題

include include include include include include include include include include include include include include accmulate include include setprecision...

網易有道2017內推程式設計題

題目鏈結 水題,暴力就行了 一 洗牌在生活中十分常見,現在需要寫乙個程式模擬洗牌的過程。現在需要洗2n張牌,從上到下依次是第1張,第2張,第3張一直到第2n張。首先,我們把這2n張牌分成兩堆,左手拿著第1張到第n張 上半堆 右手拿著第n 1張到第2n張 下半堆 接著就開始洗牌的過程,先放下右手的最後...