제출 #1147002

#제출 시각아이디문제언어결과실행 시간메모리
1147002UnforgettableplLogičari (COCI21_logicari)C++20
0 / 110
0 ms396 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int modulo = 1e9+7; int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector<vector<int>> adj(n+1); for(int i=1;i<=n;i++){ int a,b; cin >> a >> b; adj[a].emplace_back(b); adj[b].emplace_back(a); } vector<bool> visited(n+1); vector<int> myLevel(n+1); vector<int> ans(4); int anss = -1; function<void(int,int,int)> dfs = [&](int x,int p,int level){ visited[x]=true; ans[level]++; myLevel[x]=level; for(int&i:adj[x])if(i!=p){ if(visited[i]){ if(((myLevel[x]+1)&3) == myLevel[i])anss=(myLevel[x]+2)&3; if(((myLevel[i]+1)&3) == myLevel[x])anss=(myLevel[i]+2)&3; continue; } dfs(i,x,(level+1)&3); } }; dfs(1,0,0); if(anss==-1){ cout << "-1\n"; } else cout << ans[anss]+ans[(anss+1)&3] << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...