# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1206920 | salmon | Festivals in JOI Kingdom 2 (JOI23_festival2) | C++20 | 9093 ms | 412 KiB |
#include <bits/stdc++.h>
using namespace std;
int N,mod;
int ans = 0;
void dfs(int i, vector<pair<int,int>> v, vector<int> unput){
if(i == N){
int num = 0;
int it = 0;
int last = 0;
while(it != N){
if(last < v[it].first){
last = v[it].second;
num++;
}
it++;
}
for(int i = 0; i < v.size(); i++){
swap(v[i].first,v[i].second);
}
sort(v.begin(),v.end());
it = 0;
last = 0;
int num1 = 0;
while(it != N){
if(last < v[it].second){
last = v[it].first;
num1++;
}
it++;
}
if(num1 > num) ans++;
return;
}
else{
for(int i1 = 1; i1 < unput.size(); i1++){
vector<int> temp;
vector<pair<int,int>> v1;
v1 = v;
v1.push_back({unput[0], unput[i1]});
for(int j = 1; j < unput.size(); j++){
if(j == i1) continue;
temp.push_back(unput[j]);
}
dfs(i + 1, v1, temp);
}
}
}
int main(){
scanf(" %d",&N);
scanf(" %d",&mod);
vector<int> v;
for(int i = 1; i <= N * 2; i++) v.push_back(i);
dfs(0,{},v);
printf("%d\n",ans);
}
Compilation message (stderr)
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |