Submission #371549
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> PII;
typedef long long LL;
typedef unsigned long long ULL;
template<class T> inline bool amax (T &a, const T &b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool amin (T &a, const T &b) { if (a > b) { a = b; return 1; } return 0; }
template<class T> ostream& operator << (ostream &os, const vector<T> &v) { os << "["; for (typename vector<T>::const_iterator it = v.begin(); it != v.end(); it++) { os << (it != v.begin() ? ", " : "") << *it; } os << "]"; return os; }
template<class T> ostream& operator << (ostream &os, const set<T> &s) { os << "["; for (typename set<T>::const_iterator it = s.begin(); it != s.end(); it++) { os << (it != s.begin() ? ", " : "") << *it; } os << "]"; return os; }
template<class Key, class Val> ostream& operator << (ostream &os, const map<Key, Val> &m) { os << "{"; for (typename map<Key, Val>::const_iterator it = m.begin(); it != m.end(); it++) { os << (it != m.begin() ? ", " : "") << it->first << ":" << it->second; } os << "}"; return os; }
template<class T, class S> ostream& operator << (ostream &os, const pair<T, S> &p) { os << "(" << p.first << ", " << p.second << ")"; return os; }
template <class Target, class Source> inline Target lexical_cast (const Source &s) { Target t; stringstream ss; ss << s; ss >> t; return t; }
//> v < ^ (clock wise)
int dx[] = {1,0,-1,0};
int dy[] = {0,1,0,-1};
const int INFI = 1<<28;
const long long int INFL = 1LL<<60;
const double INFD = 1e+300;
const float INFF = 1e+100;
const double EPS = 1e-8;
int dfs (int pre, int v, int cnt, vector<int> &visited, const vector<vector<int> > &G) {
if (visited[v] != -1) {
return cnt-visited[v];
}
visited[v] = cnt;
int res = -1;
for (int i = 0; i < G[v].size(); i++) {
if (G[v][i] != pre) {
res = max(res, dfs(v, G[v][i], cnt+1, visited, G));
}
}
return res;
}
int main(){
cout.setf(ios::fixed); cout.precision(10);
ios_base::sync_with_stdio(false);
int N;
cin >> N;
vector< vector<int> > G(N);
for (int i = 0; i < N; i++) {
int a, b;
cin >> a >> b;
a--; b--;
G[a].push_back(b);
G[b].push_back(a);
}
vector<int> visited(N, -1);
int l = dfs(-1, 0, 0, visited, G);
if (l == N) cout << 2 << " ";
else cout << 1 << " ";
if (l%2) {
cout << l-1+(N-l) << endl;
} else {
cout << N << endl;
}
return 0;
}
Submission Info
| Submission Time |
|
| Task |
C - 最小カットと最大カット |
| User |
itf |
| Language |
C++ (GCC 4.9.2) |
| Score |
100 |
| Code Size |
2556 Byte |
| Status |
AC |
| Exec Time |
115 ms |
| Memory |
14436 KiB |
Judge Result
| Set Name |
All |
| Score / Max Score |
100 / 100 |
| Status |
|
| Set Name |
Test Cases |
| All |
scrambled_00.txt, scrambled_01.txt, scrambled_02.txt, scrambled_03.txt, scrambled_04.txt, scrambled_05.txt, scrambled_06.txt, scrambled_07.txt, scrambled_08.txt, scrambled_09.txt, scrambled_10.txt, scrambled_11.txt, scrambled_12.txt, scrambled_13.txt, scrambled_14.txt, scrambled_15.txt, scrambled_16.txt, scrambled_17.txt, scrambled_18.txt, scrambled_19.txt, scrambled_20.txt, scrambled_21.txt, scrambled_22.txt, scrambled_23.txt, scrambled_24.txt, scrambled_25.txt, scrambled_26.txt, scrambled_27.txt, scrambled_28.txt |
| Case Name |
Status |
Exec Time |
Memory |
| scrambled_00.txt |
AC |
25 ms |
796 KiB |
| scrambled_01.txt |
AC |
25 ms |
928 KiB |
| scrambled_02.txt |
AC |
26 ms |
928 KiB |
| scrambled_03.txt |
AC |
115 ms |
14436 KiB |
| scrambled_04.txt |
AC |
114 ms |
14364 KiB |
| scrambled_05.txt |
AC |
78 ms |
9252 KiB |
| scrambled_06.txt |
AC |
57 ms |
6048 KiB |
| scrambled_07.txt |
AC |
102 ms |
13356 KiB |
| scrambled_08.txt |
AC |
49 ms |
5024 KiB |
| scrambled_09.txt |
AC |
57 ms |
6300 KiB |
| scrambled_10.txt |
AC |
78 ms |
7072 KiB |
| scrambled_11.txt |
AC |
45 ms |
3100 KiB |
| scrambled_12.txt |
AC |
67 ms |
5788 KiB |
| scrambled_13.txt |
AC |
64 ms |
5400 KiB |
| scrambled_14.txt |
AC |
92 ms |
6560 KiB |
| scrambled_15.txt |
AC |
72 ms |
4896 KiB |
| scrambled_16.txt |
AC |
48 ms |
2988 KiB |
| scrambled_17.txt |
AC |
49 ms |
2980 KiB |
| scrambled_18.txt |
AC |
93 ms |
6688 KiB |
| scrambled_19.txt |
AC |
28 ms |
1444 KiB |
| scrambled_20.txt |
AC |
68 ms |
4464 KiB |
| scrambled_21.txt |
AC |
48 ms |
2984 KiB |
| scrambled_22.txt |
AC |
71 ms |
4900 KiB |
| scrambled_23.txt |
AC |
53 ms |
3364 KiB |
| scrambled_24.txt |
AC |
51 ms |
3104 KiB |
| scrambled_25.txt |
AC |
58 ms |
3756 KiB |
| scrambled_26.txt |
AC |
54 ms |
3228 KiB |
| scrambled_27.txt |
AC |
65 ms |
4380 KiB |
| scrambled_28.txt |
AC |
62 ms |
4064 KiB |