首页 > 其他分享 >Acwing 129. 火车进栈

Acwing 129. 火车进栈

时间:2024-03-29 15:25:18浏览次数:23  
标签:typedef const LL dfs 129 进栈 sum Acwing

https://www.acwing.com/problem/content/description/131/

输入样例:
3
输出样例:
123
132
213
231
321
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
const LL MAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;
const LL N=200200,M=2020;
LL n,sum=20;
stack<int> st; //入栈
vector<int> v; //出栈
int flag=1; //~n的车辆还未入栈
void dfs()
{
    if(!sum) return ;//只要前20种答案
    if(v.size()>=n)
    {
        sum--;
        for(auto i:v)
        {
            cout<<i;
        }
        cout<<endl;
        return ;
    }
    if(st.size())//入栈数量
    {
        v.push_back(st.top());//出栈
        st.pop();
        dfs();
        st.push(v.back());//恢复现场
        v.pop_back();
    }
    if(flag<=n)//还有车辆未入栈
    {
        st.push(flag);//压入栈
        flag++;
        dfs();
        flag--;
        st.pop();//恢复现场
    }
}
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    LL T=1;
    //cin>>T;
    while(T--)
    {
        cin>>n;
        dfs();
    }
    return 0;
}

标签:typedef,const,LL,dfs,129,进栈,sum,Acwing
From: https://www.cnblogs.com/Vivian-0918/p/18103914

相关文章

  • [正常题解]Acwing.5308 公路
    ​首先需要理解一个证明:​ 假设我们有三个点,前两个点价格为\(a_1,\a_2\),距离为\(v_1,\v_2\)那么就有式子:\(\frac{a_1\timesv_1}{d}+\frac{a_2\timesv_2}{d}\式①\),和式子\(\frac{a_1\timesv_1}{d}+\frac{a_1\timesv_2}{d}\式子②\)$\rightarrow\frac{1}{d}(......
  • Acwing 1111. 字母
    https://www.acwing.com/problem/content/1113/#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<int,int>PII;constLLMAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;constLLN=200200,M=2020;LLn,m,maxn=1;charc[M][M];ma......
  • Acwing 1491. 圆桌座位
    https://www.acwing.com/problem/content/1493/输入样例1:4112输出样例1:2输入样例2:10512345678910输出样例2:112512#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<int,int>PII;constLLMAXN=1e18,MINN=-MAXN,I......
  • lanqiao106. 正则问题 (第八届蓝桥杯C++A组)或者 acwing 1225. 正则问题
    问题:知识补充:1. 正则表达式的计算①括号代表优先计算,②或符号代表二选一。比如给的例子:((xx|xxx)x|(x|xx))xx 2. 字符串的语法问题:string是字符串的类型,使用的时候也使像字符一样使用,加入定义stringstr,那么使用的时候要写成str[]思考:妈呀一开始我不会算正则表达......
  • AcWing 730. 机器人跳跃问题
    Problem:AcWing730.机器人跳跃问题文章目录思路解题方法复杂度Code思路这是一个二分查找的问题。我们需要找到机器人的最小初始能量,使得它能够完成所有的跳跃。我们可以通过二分查找来找到这个最小的初始能量。我们从最小能量1开始,到最大能量100000(因为题目中......
  • AcWing基础语法课第二讲习题
    第二讲判断语句665.倍数#include<iostream>usingnamespacestd;intmain(){inta,b;cin>>a>>b;if(a%b==0||b%a==0)cout<<"SaoMultiplos"<<endl;elsecout<<"NaosaoMul......
  • 扫雷(蓝桥杯,acwing)
    题目描述:扫雷是一种计算机游戏,在 2020 世纪 80 年代开始流行,并且仍然包含在某些版本的MicrosoftWindows操作系统中。在这个问题中,你正在一个矩形网格上玩扫雷游戏。最初网格内的所有单元格都呈未打开状态。其中 M个不同的单元格中隐藏着 M 个地雷。其他单元格内......
  • 全球变暖(蓝桥杯,acwing每日一题)
    题目描述:你有一张某海域 N×N像素的照片,”.”表示海洋、”#”表示陆地,如下所示:........##.....##........##...####....###........其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 22 座岛屿。由于全球变暖导致了海面上升,科学家预测未......
  • AcWing 99. 激光炸弹
    Problem:AcWing99.激光炸弹文章目录思路解题方法复杂度Code思路这是一个二维前缀和的问题。我们需要找到一个r*r的方格,使得这个方格内的所有点的权值和最大。我们可以先计算出每个点的前缀和,然后枚举每个可能的方格,计算出这个方格内的所有点的权值和,取最大值......
  • AcWing 3498. 日期差值(每日一题)
    题目链接:3498.日期差值-AcWing题库有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。输入格式输入包含多组测试数据。每组数据占两行,分别表示两个日期,形式为 YYYYMMDD。输出格式每组数据输出一行,即日期差值。数据范围年份范围 [......