题解 | #火车进站#

火车进站

https://www.nowcoder.com/practice/97ba57c35e9f4749826dc3befaeae109

#include <algorithm>
#include <iostream>
#include <iterator>
#include <stack>
#include <unistd.h>
#include <vector>
using namespace std;

vector<int> en_ivec;

bool check(vector<int> &ivec)
{
    stack<int> st;

    for(int i = 0, idx_ivec = 0; i < ivec.size(); ++ i)
    {
        st.push(en_ivec.at(i));
        while(!st.empty() && st.top() == ivec.at(idx_ivec))
        {
            st.pop();
            ++ idx_ivec;
        }
    }

    return st.empty();
}

int main() {

    vector<int> ivec;
    istream_iterator<int> intCin(cin);
    istream_iterator<int> intCinEOF;
    ++ intCin;
    while(intCin != intCinEOF)
    {
        ivec.push_back(*intCin ++);
    }
    
    en_ivec = ivec;
    ostream_iterator<int> intCout(cout, " ");

    sort(ivec.begin(), ivec.end());
    do{
        if(check(ivec))
        {
            copy(ivec.cbegin(), ivec.cend(), intCout);
            cout << endl;
        }

    }while(next_permutation(ivec.begin(), ivec.end()));


    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
我是没经验的毕业生,这啥情况啊会不会是hr在刷kpi
JamesGosli...:字节boss属于是群发了,我都快入职字节了,其他部门还在和我boss打招呼
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务