제출 #1095897

#제출 시각아이디문제언어결과실행 시간메모리
1095897alexander707070Amusement Park (CEOI19_amusementpark)C++14
19 / 100
3055 ms216828 KiB
#include<bits/stdc++.h> #define MAXN 600007 using namespace std; const int mod=998244353; int n,m,a[4000],b[4000]; int perm[20],ans; set< pair< vector<int> , int> > s; void check(){ int c=0; vector<int> w; for(int i=1;i<=m;i++){ if(perm[a[i]]>perm[b[i]]){ c++; w.push_back(1); }else{ w.push_back(0); } } s.insert({w,c}); } int main(){ cin>>n>>m; for(int i=1;i<=m;i++){ cin>>a[i]>>b[i]; } for(int i=1;i<=n;i++)perm[i]=i; do{ check(); }while(next_permutation(perm+1,perm+n+1)); for(pair<vector<int>,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...