Submission #945675

#TimeUsernameProblemLanguageResultExecution timeMemory
945675vjudge1Amusement Park (CEOI19_amusementpark)C++17
19 / 100
3077 ms483676 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; vector <int> g[20]; int cl[20]; bool ok=1; void dfs(int v){ cl[v]=1; for(auto to : g[v]){ if(cl[to]==0)dfs(to); else if(cl[to]==1)ok=0; } cl[v]=2; } 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]; } vector <int> ord; vector <vector <int> > st; for(int i=1;i<=n;i++)ord.pb(i); do{ vector <int> val_ord(n+1); for(int i=1;i<=n;i++){ cl[i]=0; g[i].clear(); } ok=1; for(int i=0;i<ord.size();i++){ val_ord[ord[i]]=i; } int cnt=0; vector <int> ch; for(int i=0;i<m;i++){ int x=val_ord[u[i]]; int y=val_ord[v[i]]; if(x<y){ ch.pb(i); g[v[i]].pb(u[i]); } else g[u[i]].pb(v[i]); } for(int i=1;i<=n;i++){ if(!cl[i])dfs(i); if(!ok)break; } if(ok){ st.pb(ch); } }while(next_permutation(all(ord))); int ans=0; sort(all(st)); if(st.size()!=0)ans+=st[0].size(); for(int i=1;i<st.size();i++){ if(st[i].size()!=st[i-1].size())ans+=st[i].size(); else{ for(int j=0;j<st[i].size();j++){ if(st[i][j]!=st[i-1][j]){ ans+=st[i].size();break; } } } } 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:36: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]
   36 |         for(int i=0;i<ord.size();i++){
      |                     ~^~~~~~~~~~~
amusementpark.cpp:40:13: warning: unused variable 'cnt' [-Wunused-variable]
   40 |         int cnt=0;
      |             ^~~
amusementpark.cpp:62:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |     for(int i=1;i<st.size();i++){
      |                 ~^~~~~~~~~~
amusementpark.cpp:65:26: 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]
   65 |             for(int j=0;j<st[i].size();j++){
      |                         ~^~~~~~~~~~~~~
#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...