Submission #1370364

#TimeUsernameProblemLanguageResultExecution timeMemory
1370364solution6312Splits (CEOI25_splits)C++17
Compilation error
0 ms0 KiB
#include <iostream>
#include <vector>
using namespace std;
using ll=long long;

namespace 
{
    const ll mod=(119<<23)+1;
    bool check(vector<int> x, vector<int> y)
    {
        //for (int i:x) cerr<<i<<' '; cerr<<endl;
        //for (int i:y) cerr<<i<<' '; cerr<<endl;
        int n=x.size();
        vector<int> pos(n);
        for (int i=0; i<n; i++) pos[x[i]]=i+1;
        int cnt=1;
        for (int i=1; i<n; i++)
        {
            //cerr<<i<<": "<<pos[y[i]]<<endl;
            if (pos[y[i]]<pos[y[i-1]]) cnt++;
        }
        //cerr<<cnt<<endl;
        return cnt<=2;
    }
}

int solve(int n, int m, vector<vector<int>> &splits)
{
    vector<int> p(n);
    for (int i=0; i<n; i++) p[i]=i+1;
    int ans=1;
    for (vector<int> i:splits)
    {
        if (!check(p, i))
        {
            ans=0;
            break;
        }
    }
    while (next_permutation(p.begin(), p.end()))
    {
        int add=1;
        for (vector<int> i:splits)
        {
            if (!check(p, i))
            {
                add=0;
                break;
            }
        }
        ans+=add;
    }
    return ans;
}

Compilation message (stderr)

splits.cpp: In function 'int solve(int, int, std::vector<std::vector<int> >&)':
splits.cpp:40:12: error: 'next_permutation' was not declared in this scope
   40 |     while (next_permutation(p.begin(), p.end()))
      |            ^~~~~~~~~~~~~~~~