Submission #946442

#TimeUsernameProblemLanguageResultExecution timeMemory
946442AiperiiiAmusement Park (CEOI19_amusementpark)C++14
42 / 100
3014 ms171052 KiB
#include <bits/stdc++.h> #define int long long #define all(x) x.begin(),x.end() #define ff first #define ss second #define pb push_back using namespace std; const int mod=1e9+7; signed main(){ int n,m; cin>>n>>m; vector <int> u(m),v(m); for(int i=0;i<m;i++){ cin>>u[i]>>v[i]; } int ans=0; vector <int> ord; set <int> st; for(int i=1;i<=n;i++)ord.pb(i); do{ vector <int> val_ord(n+1); for(int i=0;i<ord.size();i++){ val_ord[ord[i]]=i; } int cnt=0; int ch=0; for(int i=0;i<m;i++){ int x=val_ord[u[i]]; int y=val_ord[v[i]]; if(x<y){ ch+=(1ll<<i); cnt++; } } int x=st.size(); st.insert(ch); if(x!=st.size()){ ans+=cnt;ans%=mod; } }while(next_permutation(all(ord))); cout<<ans<<"\n"; } /* 3 3 1 2 2 3 1 3 1 2 3 */

Compilation message (stderr)

amusementpark.cpp: In function 'int main()':
amusementpark.cpp:22:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |         for(int i=0;i<ord.size();i++){
      |                     ~^~~~~~~~~~~
amusementpark.cpp:39:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::set<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |         if(x!=st.size()){
      |            ~^~~~~~~~~~~
#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...