Submission #1200019

#TimeUsernameProblemLanguageResultExecution timeMemory
1200019irmuunAmusement Park (CEOI19_amusementpark)C++20
42 / 100
3068 ms525704 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll n,m; cin>>n>>m; ll g[n+5]; vector<pair<ll,ll>>edge; for(ll i=1;i<=m;i++){ ll a,b; cin>>a>>b; edge.pb({a,b}); } ll p[n+5],pos[n+5]; iota(p+1,p+n+1,1); vector<ll>v; do{ for(ll i=1;i<=n;i++){ pos[p[i]]=i; } ll num=0,cnt=0; for(ll i=0;i<m;i++){ auto [a,b]=edge[i]; if(pos[a]>pos[b]){ num|=(1ll<<i); } } v.pb(num); }while(next_permutation(p+1,p+n+1)); sort(all(v)); v.erase(unique(all(v)),v.end()); ll ans=0; for(ll x:v){ ans+=__builtin_popcountll(x); } cout<<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...