Submission #43366069
Source Code Expand
import std;
void read(T...)(string S, ref T args) {
auto buf = S.split;
foreach (i, ref arg; args) {
arg = buf[i].to!(typeof(arg));
}
}
void main () {
int N1, N2, M; readln.read(N1, N2, M);
int[][] graph = new int[][](N1+N2, 0);
foreach (_; 0..M) {
int a, b; readln.read(a, b);
a--, b--;
graph[a] ~= b;
graph[b] ~= a;
}
solve(N1, N2, M, graph);
}
void solve (int N1, int N2, int M, int[][] graph) {
// 選ぶ頂点は 1 <= u <= N1 と N1+1 <= v <= N1+N2 なことに注意
int[] visited = new int[](N1+N2);
DList!int Q;
{ // 頂点1からの連結成分の調査
visited[] = -1;
visited[0] = 0;
Q.insert(0);
while (!Q.empty) {
auto begin = Q.front; Q.removeFront;
foreach (to; graph[begin]) {
if (visited[to] == -1) {
visited[to] = visited[begin] + 1;
Q.insert(to);
}
}
}
}
// 頂点uを選ぶ
import std.algorithm : reduce;
int u = reduce!(max)(visited[0..N1]);
{ // 頂点N1+N2からの連結成分の調査
visited[] = -1;
visited[N1+N2-1] = 0;
Q.insert(N1+N2-1);
while (!Q.empty) {
auto begin = Q.front; Q.removeFront;
foreach (to; graph[begin]) {
if (visited[to] == -1) {
visited[to] = visited[begin] + 1;
Q.insert(to);
}
}
}
}
// 頂点vを選ぶ
int v = reduce!(max)(visited[N1..$]);
writeln(u+v+1);
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Add One Edge |
| User | InTheBloom |
| Language | D (DMD 2.091.0) |
| Score | 400 |
| Code Size | 1704 Byte |
| Status | AC |
| Exec Time | 403 ms |
| Memory | 30136 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 01_small_07.txt, 01_small_08.txt, 01_small_09.txt, 01_small_10.txt, 01_small_11.txt, 01_small_12.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 02_rnd_08.txt, 02_rnd_09.txt, 03_path_00.txt, 03_path_01.txt, 03_path_02.txt, 03_path_03.txt, 04_semilong_00.txt, 04_semilong_01.txt, 04_semilong_02.txt, 04_semilong_03.txt, 04_semilong_04.txt, 04_semilong_05.txt, 04_semilong_06.txt, 04_semilong_07.txt, 04_semilong_08.txt, 04_semilong_09.txt, 05_dense_00.txt, 05_dense_01.txt, 05_dense_02.txt, 05_dense_03.txt, 05_dense_04.txt, 05_dense_05.txt, 05_dense_06.txt, 05_dense_07.txt, 06_star_00.txt, 06_star_01.txt, 06_star_02.txt, 06_star_03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 6 ms | 3580 KiB |
| 00_sample_01.txt | AC | 2 ms | 3552 KiB |
| 01_small_00.txt | AC | 2 ms | 3576 KiB |
| 01_small_01.txt | AC | 7 ms | 3608 KiB |
| 01_small_02.txt | AC | 2 ms | 3520 KiB |
| 01_small_03.txt | AC | 3 ms | 3648 KiB |
| 01_small_04.txt | AC | 2 ms | 3568 KiB |
| 01_small_05.txt | AC | 2 ms | 3592 KiB |
| 01_small_06.txt | AC | 3 ms | 3644 KiB |
| 01_small_07.txt | AC | 2 ms | 3500 KiB |
| 01_small_08.txt | AC | 2 ms | 3524 KiB |
| 01_small_09.txt | AC | 2 ms | 3512 KiB |
| 01_small_10.txt | AC | 2 ms | 3532 KiB |
| 01_small_11.txt | AC | 3 ms | 3496 KiB |
| 01_small_12.txt | AC | 2 ms | 3548 KiB |
| 02_rnd_00.txt | AC | 356 ms | 27132 KiB |
| 02_rnd_01.txt | AC | 287 ms | 25716 KiB |
| 02_rnd_02.txt | AC | 332 ms | 27160 KiB |
| 02_rnd_03.txt | AC | 300 ms | 26092 KiB |
| 02_rnd_04.txt | AC | 326 ms | 26428 KiB |
| 02_rnd_05.txt | AC | 225 ms | 19636 KiB |
| 02_rnd_06.txt | AC | 176 ms | 13912 KiB |
| 02_rnd_07.txt | AC | 303 ms | 24012 KiB |
| 02_rnd_08.txt | AC | 194 ms | 14700 KiB |
| 02_rnd_09.txt | AC | 238 ms | 21564 KiB |
| 03_path_00.txt | AC | 399 ms | 28460 KiB |
| 03_path_01.txt | AC | 397 ms | 28424 KiB |
| 03_path_02.txt | AC | 401 ms | 28456 KiB |
| 03_path_03.txt | AC | 403 ms | 28448 KiB |
| 04_semilong_00.txt | AC | 291 ms | 26848 KiB |
| 04_semilong_01.txt | AC | 259 ms | 26324 KiB |
| 04_semilong_02.txt | AC | 292 ms | 27096 KiB |
| 04_semilong_03.txt | AC | 288 ms | 26876 KiB |
| 04_semilong_04.txt | AC | 313 ms | 27028 KiB |
| 04_semilong_05.txt | AC | 375 ms | 27644 KiB |
| 04_semilong_06.txt | AC | 328 ms | 26060 KiB |
| 04_semilong_07.txt | AC | 357 ms | 27368 KiB |
| 04_semilong_08.txt | AC | 351 ms | 27020 KiB |
| 04_semilong_09.txt | AC | 377 ms | 28108 KiB |
| 05_dense_00.txt | AC | 118 ms | 11712 KiB |
| 05_dense_01.txt | AC | 118 ms | 11640 KiB |
| 05_dense_02.txt | AC | 117 ms | 11728 KiB |
| 05_dense_03.txt | AC | 121 ms | 11804 KiB |
| 05_dense_04.txt | AC | 112 ms | 11700 KiB |
| 05_dense_05.txt | AC | 113 ms | 11888 KiB |
| 05_dense_06.txt | AC | 112 ms | 11876 KiB |
| 05_dense_07.txt | AC | 115 ms | 11824 KiB |
| 06_star_00.txt | AC | 319 ms | 29532 KiB |
| 06_star_01.txt | AC | 323 ms | 30136 KiB |
| 06_star_02.txt | AC | 153 ms | 15536 KiB |
| 06_star_03.txt | AC | 155 ms | 15600 KiB |