#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define all(x) x.begin(),x.end()
#define ld long double
using namespace std;
const ll sz=1e5+100;
int main()
{
ll n,cs,cf;cin>>n>>cs>>cf;
ll a[n+1];
for(int i=1;i<=n;i++) a[i]=i;
ll tot=0;
do{
ll ok=0;
if(a[cs]!=1 or a[cf]!=n) ok=1;
ll cnt[n+5];
for(int i=1;i<=n;i++){
cnt[a[i]]=i;
}
ll dir=0;
if(cnt[2]>cnt[1]) dir=1;
for(int i=2;i<=n;i++){
if(cnt[i]>cnt[i-1] and dir==0) ok=1;
if(cnt[i]<cnt[i-1] and dir==1) ok=1;
dir=1-dir;
}
if(!ok) tot++;
}while(next_permutation(a+1,a+n+1));
cout<<tot<<endl;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |