这个思路有问题吗
查看原帖
这个思路有问题吗
774430
G111118楼主2023/7/29 13:48

先生成出栈入栈的全序列 然后判断前缀和

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,num,judge;
int main() {
    cin >> n;
    vector<char>a;
    for (ll i = 0; i <n ; i++) a.push_back('1');
    for (ll i = 0; i < n; i++) a.push_back('-1');
    do {
        for (ll i = 0; i < a.size(); i++)
        {
            if (a[i] == '1')judge++;
            else judge--;
            if (judge < 0)continue;
            else num++;
        }
    } while (next_permutation(a.begin(),a.end()));
    cout << num-1;
    return 0;
}
2023/7/29 13:48
加载中...