国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

華為機試HJ77:火車進站

muzhuyu / 2570人閱讀

摘要:要求輸出所有火車出站的方案,以字典序排序輸出。輸入描述有多組測試用例,每一組第一行輸入一個正整數輸出描述輸出以字典序從小到大排序的火車出站序列號,每個編號以空格隔開,每個輸出序列換行,具體見。

作者:翟天保Steven
版權聲明:著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處

題目描述:

給定一個正整數N代表火車數量,0

要求輸出所有火車出站的方案,以字典序排序輸出。

輸入描述:

有多組測試用例,每一組第一行輸入一個正整數N

輸出描述:

輸出以字典序從小到大排序的火車出站序列號,每個編號以空格隔開,每個輸出序列換行,具體見sample。

示例:

輸入:

31 2 3

輸出:

1 2 31 3 22 1 32 3 13 2 1

說明:

第一種方案:1進、1出、2進、2出、3進、3出第二種方案:1進、1出、2進、3進、3出、2出第三種方案:1進、2進、2出、1出、3進、3出第四種方案:1進、2進、2出、3進、3出、1出第五種方案:1進、2進、3進、3出、2出、1出請注意,[3,1,2]這個序列是不可能實現的。

解題思路:

本題是入棧出棧問題。用隊列in存放火車入站的順序,用out存放出站的順序,用stack棧模仿入站出站操作;solve函數是遞歸求解函數,當bool為true時表示入站,為false表示出站;入站則將in彈出一個數據,stack存放一個數據,出站則stack彈出,out存放,出站先判斷棧內有無數據,無數據直接返回;遞歸操作,進行一次出站再進行一次入站;當in隊列空了則說明火車全部進站完畢,此時若還進站則直接返回,若棧內還有數據則依次彈出;用write_result函數記錄out的結果,格式如1 2 3;遞歸全部完成則表示所有可能的情況都遍歷過了;因為題目要求結果按字典排序,用sort排序后輸出即可。

測試代碼:

#include #include #include #include #include using namespace std;vector result;// 寫入結果void write_result(queue q){    string str;    while(!q.empty())    {        str+=to_string(q.front());        str+=" ";        q.pop();    }    result.push_back(str);}// 遞歸求解void solve(queue in,stack t,queue out,bool flag){    if(in.empty())            // in隊列空了就說明都進完了    {        if(flag)              // in隊列空了不能再進了            return;        while(!t.empty())     // 棧里若還有數據直接彈出到out隊列里        {            out.push(t.top());            t.pop();        }        write_result(out);    // 記錄本次結果        return;    }    else{        if(flag)              // 入棧        {            t.push(in.front());            in.pop();        }        else{                 // 出棧            if(t.empty())     // 沒得出直接返回                return;            out.push(t.top());            t.pop();        }        // 遞歸        solve(in,t,out,false);         solve(in,t,out,true);    }}int main(){    int num;    while(cin>>num)    {        int sequence;        queue in,out;        stack t;        for(int i=0;i>sequence;            in.push(sequence);        }        solve(in,t,out,true);        // 按字典順序排序結果        sort(result.begin(),result.end());        for(auto it=result.begin();it!=result.end();++it)        {            cout<<*it<

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/120812.html

相關文章

  • 華為機試HJ57:高精度整數加法

    摘要:字符串的長度不超過。本題含有多組樣例輸入。保證字符串只含有字符輸出描述輸出求和后的結果示例輸入輸出解題思路本題通過字符串操作實現超高精度的整數加法。 作者:Steven 版權聲明:著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處 題目描述: 輸入兩個用字符串表示的整數,求它...

    AdolphLWQ 評論0 收藏0
  • 太原,這是我曾經和現在居住的城市,記錄一個前端仔的三年。

    摘要:年,我離開了工作一年的杭州。火車站,是進入一個城市的入口。對于常年混跡于太原前端圈的我,發現最近兩年太原招聘市場的一個發展趨勢是,前端開發已經和一樣,成為公司招聘的標配。后記太原并不大,也不繁華,但她是我生活的城市,我很熱愛她。 showImg(https://segmentfault.com/img/bVZHg4?w=1000&h=565); 前言 這篇文章寫給準備踏入互聯網的萌新,...

    tomlingtm 評論0 收藏0
  • ChemiCloud:黑五優惠匯總,全年最便宜,續費永久優惠50%,首購高達80%優惠

    摘要:注意最優惠價格是三年付款。簡單一句,優惠碼有有效期,一旦在優惠碼期內使用優惠無有效期永久有效。優惠三全托管首月折扣也提供虛擬專用服務器,而且是全托管的,獨立性強于共享托管主機,而且還有獨立。 官方網站 點擊直達ChemiCloud官網 Chemicloud優惠一:共享主機高達80%優惠 ChemiCloud 的黑色星期五,這是一年中最大的活動!瘋狂享受ChemiClo...

    Hujiawei 評論0 收藏0
  • #網絡星期一#ChemiCloud:全托管VPS首月50%折扣,$39.98/月起,共享主機高達80

    摘要:今年的黑色星期五活動結束,馬上開啟了網絡星期一活動,共享主機高達優惠,低至月托管主機續費永久折扣,月起全托管首月折扣,首購月,有需要的可以圍觀一下。 ChemiCloud今年的黑色星期五活動結束,馬上開啟了網絡星期一活動,共享主機高達80%優惠,低至$1.58/月;托管主機續費80%永久折扣,$7.90/月起;全托管VPS首月50%折扣,首購$39.97/月,有需要的可以圍觀一下。 ...

    不知名網友 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<