Submission #1636114
Source Code Expand
#include <iostream>
#include <algorithm>
#include <vector>
using ll = long long;
// #define int ll
#define FOR(i, a, b) for (int i = (a); i < int(b); ++i)
#define RFOR(i, a, b) for (int i = (b)-1; i >= int(a); --i)
#define rep(i, n) FOR(i, 0, n)
#define rep1(i, n) FOR(i, 1, int(n) + 1)
#define rrep(i, n) RFOR(i, 0, n)
#define rrep1(i, n) RFOR(i, 1, int(n) + 1)
#define all(c) begin(c), end(c)
// const int MOD = 1000000007;
template <typename T>
void __print__(std::ostream &os, const char *, const char *tail, const T &fst) {
os << fst << tail;
}
template <typename Fst, typename... Rst>
void __print__(std::ostream &os, const char *del, const char *tail, const Fst &fst,
const Rst &... rst) {
os << fst << del;
__print__(os, del, tail, rst...);
}
#ifdef LOCAL
#define dump(...) \
do { \
std::ostringstream os; \
os << __LINE__ << ":\t" << #__VA_ARGS__ << " = "; \
__print__(os, ", ", "\n", __VA_ARGS__); \
std::cerr << os.str(); \
} while (0)
#else
#define dump(...)
#endif
template <typename Fst, typename... Rst>
void println(const Fst &fst, const Rst &... rst) {
__print__(std::cout, "\n", "\n", fst, rst...);
}
template <typename Fst, typename... Rst>
void print(const Fst &fst, const Rst &... rst) {
__print__(std::cout, " ", "\n", fst, rst...);
}
template <typename iter>
void println_(iter bgn, iter end) {
while (bgn != end) println(*bgn++);
}
template <typename iter>
void print_(iter bgn, iter end) {
while (bgn != end) {
std::cout << *bgn++;
std::cout << (bgn == end ? "\n" : " ");
}
}
int _ = (std::cout.precision(10), std::cout.setf(std::ios::fixed), std::cin.tie(0),
std::ios::sync_with_stdio(0), 0);
template <typename T>
std::vector<T> ndarray(int n, T v) {
return std::vector<T>(n, v);
}
template <typename... Args>
auto ndarray(int n, Args... args) {
auto val = ndarray(args...);
return std::vector<decltype(val)>(n, move(val));
}
template <typename T>
bool umax(T &a, const T &b) {
return a < b ? a = b, true : false;
}
template <typename T>
bool umin(T &a, const T &b) {
return a > b ? a = b, true : false;
}
using namespace std;
int n1, m1;
int n2, m2;
int g1[1000][1000];
int g2[1000][1000];
int main() {
while (cin >> n1 >> m1) {
rep(i, n1) rep(j, n1) g1[i][j] = g1[j][i] = i == j ? 0 : 1e9;
rep(i, m1) {
int a, b;
cin >> a >> b;
g1[a][b] = g1[b][a] = 1;
}
rep(k, n1) rep(i, n1) rep(j, n1) g1[i][j] = min(g1[i][j], g1[i][k] + g1[k][j]);
int d1 = 0;
rep(i, n1) rep(j, n1) d1 = max(d1, g1[i][j]);
cin >> n2 >> m2;
rep(i, n2) rep(j, n2) g2[i][j] = g2[j][i] = i == j ? 0 : 1e9;
rep(i, m2) {
int a, b;
cin >> a >> b;
g2[a][b] = g2[b][a] = 1;
}
rep(k, n2) rep(i, n2) rep(j, n2) g2[i][j] = min(g2[i][j], g2[i][k] + g2[k][j]);
int d2 = 0;
rep(i, n2) rep(j, n2) d2 = max(d2, g2[i][j]);
dump(d1, d2);
print(max({d1, d2, (d1 + 1) / 2 + (d2 + 1) / 2 + 1}), d1 + 1 + d2);
}
}
Submission Info
Submission Time |
|
Task |
C - 直径 |
User |
tubo28 |
Language |
C++14 (Clang 3.8.0) |
Score |
0 |
Code Size |
3409 Byte |
Status |
WA |
Exec Time |
1785 ms |
Memory |
8064 KB |
Judge Result
Set Name |
Small |
Large |
Score / Max Score |
0 / 50 |
0 / 50 |
Status |
|
|
Set Name |
Test Cases |
Small |
10-small_random-00, 10-small_random-01, 10-small_random-02, 10-small_random-03, 10-small_random-04, 10-small_random-05, 10-small_random-06, 10-small_random-07, 10-small_random-08, 10-small_random-09, 10-small_random-10, 10-small_random-11, 10-small_random-12, 10-small_random-13, 10-small_random-14, 10-small_random-15, 10-small_random-16, 10-small_random-17, 10-small_random-18, 10-small_random-19, 21-small_path-00, 21-small_path-01, 21-small_path-02, 21-small_path-03, 21-small_path-04, 00-sample-00, 00-sample-01, 00-sample-02 |
Large |
00-sample-00, 00-sample-01, 00-sample-02, 10-small_random-00, 10-small_random-01, 10-small_random-02, 10-small_random-03, 10-small_random-04, 10-small_random-05, 10-small_random-06, 10-small_random-07, 10-small_random-08, 10-small_random-09, 10-small_random-10, 10-small_random-11, 10-small_random-12, 10-small_random-13, 10-small_random-14, 10-small_random-15, 10-small_random-16, 10-small_random-17, 10-small_random-18, 10-small_random-19, 20-small_tree-00, 20-small_tree-01, 20-small_tree-02, 20-small_tree-03, 20-small_tree-04, 21-small_path-00, 21-small_path-01, 21-small_path-02, 21-small_path-03, 21-small_path-04, 30-large_random-00, 30-large_random-01, 30-large_random-02, 30-large_random-03, 30-large_random-04, 30-large_random-05, 30-large_random-06, 30-large_random-07, 30-large_random-08, 30-large_random-09, 40-large_comp-00, 40-large_comp-01, 40-large_comp-02, 40-large_comp-03, 40-large_comp-04, 41-large_tree-00, 41-large_tree-01, 41-large_tree-02, 41-large_tree-03, 41-large_tree-04, 42-large_path-00, 42-large_path-01, 42-large_path-02, 42-large_path-03, 42-large_path-04 |
Case Name |
Status |
Exec Time |
Memory |
00-sample-00 |
AC |
3 ms |
2304 KB |
00-sample-01 |
AC |
2 ms |
2304 KB |
00-sample-02 |
AC |
2 ms |
2304 KB |
10-small_random-00 |
AC |
2 ms |
2304 KB |
10-small_random-01 |
AC |
2 ms |
2304 KB |
10-small_random-02 |
AC |
1 ms |
2304 KB |
10-small_random-03 |
AC |
2 ms |
2304 KB |
10-small_random-04 |
WA |
2 ms |
2304 KB |
10-small_random-05 |
AC |
2 ms |
2432 KB |
10-small_random-06 |
AC |
2 ms |
2304 KB |
10-small_random-07 |
WA |
2 ms |
2304 KB |
10-small_random-08 |
AC |
1 ms |
2304 KB |
10-small_random-09 |
AC |
2 ms |
2304 KB |
10-small_random-10 |
AC |
2 ms |
2304 KB |
10-small_random-11 |
AC |
2 ms |
2304 KB |
10-small_random-12 |
AC |
2 ms |
2304 KB |
10-small_random-13 |
AC |
1 ms |
2304 KB |
10-small_random-14 |
WA |
2 ms |
2432 KB |
10-small_random-15 |
AC |
2 ms |
2304 KB |
10-small_random-16 |
AC |
2 ms |
2304 KB |
10-small_random-17 |
WA |
2 ms |
2432 KB |
10-small_random-18 |
AC |
2 ms |
2432 KB |
10-small_random-19 |
WA |
2 ms |
2432 KB |
20-small_tree-00 |
AC |
8 ms |
4352 KB |
20-small_tree-01 |
AC |
2 ms |
2304 KB |
20-small_tree-02 |
AC |
11 ms |
4352 KB |
20-small_tree-03 |
AC |
1 ms |
2304 KB |
20-small_tree-04 |
AC |
1764 ms |
8064 KB |
21-small_path-00 |
AC |
2 ms |
2304 KB |
21-small_path-01 |
AC |
2 ms |
2304 KB |
21-small_path-02 |
AC |
2 ms |
2304 KB |
21-small_path-03 |
AC |
2 ms |
2432 KB |
21-small_path-04 |
AC |
2 ms |
2432 KB |
30-large_random-00 |
WA |
24 ms |
3200 KB |
30-large_random-01 |
AC |
2 ms |
2432 KB |
30-large_random-02 |
AC |
6 ms |
4352 KB |
30-large_random-03 |
AC |
2 ms |
2304 KB |
30-large_random-04 |
WA |
61 ms |
3840 KB |
30-large_random-05 |
AC |
2 ms |
2304 KB |
30-large_random-06 |
WA |
20 ms |
3328 KB |
30-large_random-07 |
AC |
2 ms |
2304 KB |
30-large_random-08 |
WA |
1785 ms |
8064 KB |
30-large_random-09 |
WA |
1785 ms |
8064 KB |
40-large_comp-00 |
AC |
2 ms |
2304 KB |
40-large_comp-01 |
AC |
3 ms |
2432 KB |
40-large_comp-02 |
AC |
2 ms |
2432 KB |
40-large_comp-03 |
AC |
5 ms |
2560 KB |
40-large_comp-04 |
AC |
14 ms |
4736 KB |
41-large_tree-00 |
AC |
2 ms |
2304 KB |
41-large_tree-01 |
AC |
3 ms |
4736 KB |
41-large_tree-02 |
AC |
5 ms |
4608 KB |
41-large_tree-03 |
AC |
172 ms |
4480 KB |
41-large_tree-04 |
AC |
1764 ms |
8064 KB |
42-large_path-00 |
AC |
44 ms |
4352 KB |
42-large_path-01 |
AC |
2 ms |
2304 KB |
42-large_path-02 |
AC |
3 ms |
4352 KB |
42-large_path-03 |
AC |
714 ms |
4352 KB |
42-large_path-04 |
AC |
1764 ms |
8064 KB |