#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
map<string,string>a;
map<string,int>vis;
int dfs(string x){
vis[x]=1;
if(!vis[a[x]]) return dfs(a[x])+1;
else return 0;
}
signed main(){
ios::sync_with_stdio(0); cin.tie(0);
int n; cin>>n;
set<string>s;
for(int i=0;i<n;i++){
string u,v; cin>>u>>v;
s.insert(u); s.insert(v);
a[u]=v;
}
int ans=0;
for(auto i:s){
if(a[i]==i) {
ans++; continue;
}
if(!vis[i]){
vis[i]=1;
ans+=(dfs(i)+1)/2;
}
}
if(n%2) cout<<-1;
else cout<<ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |