Submission #1203673

#TimeUsernameProblemLanguageResultExecution timeMemory
1203673fadyscubeSeptember (APIO24_september)C++20
16 / 100
1091 ms330740 KiB
#include "september.h" #include <vector> #include <bits/stdc++.h> using namespace std; int ans = 0; int check (vector<int> &v, vector<int> &perm) { set<int> s1, s2; int k = 0; for (int i = 0; i < v.size(); i++) { s1.insert(v[i]); s2.insert(perm[i]); if (s1 == s2) k++; } return k; } void permutation (vector<int> graph, vector<int> perm, vector<int> &v) { if (perm.size() == graph.size()-1) { ans = max(ans, check(v, perm)); return; } vector<bool> occ(v.size()+1, 0); for (int i = 1; i < graph.size(); i++) occ[graph[i]] = 1; for (int i = 1; i <= v.size(); i++) { if (occ[i]) continue; vector<int> tmp = perm; tmp.push_back(i); vector<int> tmp_graph = graph; tmp_graph[i] = i; permutation(tmp_graph, tmp, v); } } int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { ans = 0; permutation(F, {}, S[0]); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...