Submission #1062617

#TimeUsernameProblemLanguageResultExecution timeMemory
106261712345678Amusement Park (CEOI19_amusementpark)C++17
42 / 100
3040 ms170836 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const ll nx=11, mx=1e3+5, mod=998244353, mod2=1e12+9; ll n, m, a[mx], b[mx], res, pw[mx]; set<ll> s; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>m; pw[0]=1; for (int i=1; i<=m; i++) pw[i]=(pw[i-1]*2)%mod2; for (int i=1; i<=m; i++) cin>>a[i]>>b[i]; vector<int> v; for (int i=1; i<=n; i++) v.push_back(i); do { ll sm=0, cnt=0; for (int i=1; i<=m; i++) if (v[a[i]-1]>v[b[i]-1]) cnt++, sm=(sm+pw[i])%mod2; if (s.find(sm)==s.end()) res=(res+cnt)%mod, s.insert(sm); } while (next_permutation(v.begin(), v.end())); cout<<res; }
#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...