제출 #1095900

#제출 시각아이디문제언어결과실행 시간메모리
1095900alexander707070Amusement Park (CEOI19_amusementpark)C++14
42 / 100
3076 ms162132 KiB
#include<bits/stdc++.h> #define MAXN 600007 using namespace std; const int mod=998244353; const long long modd=1e15+1; int n,m,a[4000],b[4000]; int perm[20],ans; long long power[4000]; unordered_map<long long,int> s; void check(){ int c=0; long long hesh=0; for(int i=1;i<=m;i++){ if(perm[a[i]]>perm[b[i]]){ c++; hesh+=power[i]; } } s[hesh]=c; } int main(){ cin>>n>>m; power[0]=1; for(int i=1;i<=m;i++){ cin>>a[i]>>b[i]; power[i]=(power[i-1]*2)%modd; } for(int i=1;i<=n;i++)perm[i]=i; do{ check(); }while(next_permutation(perm+1,perm+n+1)); for(pair<long long,int> curr:s){ ans+=curr.second; ans%=mod; } cout<<ans<<"\n"; return 0; }
#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...