Submission #1190746

#TimeUsernameProblemLanguageResultExecution timeMemory
1190746Abdalaziz_AlshamiLove Polygon (BOI18_polygon)C++20
0 / 100
174 ms9064 KiB
#include<bits/stdc++.h> using namespace std; const int N=2e5+5; int a[N]; int vis[N]; int dfs(int x,int s){ vis[x]=1; if(vis[a[x]]) return (s+1)/2; return dfs(a[x],s+1); } signed main(){ ios::sync_with_stdio(0); cin.tie(0); int n; cin>>n; map<string,int>m; int d=1; for(int i=0;i<n;i++){ string u,v; cin>>u>>v; if(!m[u]) m[u]=d++; if(!m[v]) m[v]=d++; a[m[u]]=m[v]; } int ans=0; for(int i=1;i<d;i++){ if(a[i]==i) { ans++; continue; } if(!vis[i]) ans+=dfs(i,1); } if(n%2) cout<<-1; else 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...