用户输出
13 1
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#22222 | #1115. 2-11G. JM的玄学旅社 | Accepted | 100 | 4701 ms | 158056 K | C++ 11 / 2.3 K | docriz🦆 | 2020-02-12 0:35:24 |
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 3005;
int dis[MAXN][MAXN];
int dis2[MAXN][MAXN];
vector<int> G[MAXN];
vector<int> G2[MAXN];
vector<pair<int, int>> max_dis[MAXN];
vector<pair<int, int>> max_dis2[MAXN];
int main() {
int n, m;
cin >> n >> m;
for (int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
G[x].push_back(y);
G2[y].push_back(x);
}
memset(dis, 127 / 3, sizeof(dis));
memset(dis2, 127 / 3, sizeof(dis2));
for (int i = 1; i <= n; i++) {
queue<int> Q;
dis[i][i] = 0;
Q.push(i);
while (!Q.empty()) {
int cur = Q.front();
Q.pop();
for (auto nx : G[cur]) {
if (dis[i][cur] + 1 < dis[i][nx]) {
dis[i][nx] = dis[i][cur] + 1;
Q.push(nx);
}
}
}
dis2[i][i] = 0;
Q.push(i);
while (!Q.empty()) {
int cur = Q.front();
Q.pop();
for (auto nx : G2[cur]) {
if (dis2[i][cur] + 1 < dis2[i][nx]) {
dis2[i][nx] = dis2[i][cur] + 1;
Q.push(nx);
}
}
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (i == j || dis[i][j] == dis[0][0])
continue;
max_dis[i].push_back(make_pair(-dis[i][j], j));
}
for (int j = 1; j <= n; j++) {
if (i == j || dis2[i][j] == dis[0][0])
continue;
max_dis2[i].push_back(make_pair(-dis2[i][j], j));
}
sort(max_dis[i].begin(), max_dis[i].end());
sort(max_dis2[i].begin(), max_dis2[i].end());
}
int ans = 0;
int min_b = -1;
for (int b = 1; b <= n; b++) {
for (int c = 1; c <= n; c++) {
if (b == c || dis[b][c] == dis[0][0])
continue;
vector<int> A, D;
for (int i = 0; i < min(2, (int)max_dis2[b].size()); i++) {
A.push_back(max_dis2[b][i].second);
}
for (int i = 0; i < min(2, (int)max_dis[c].size()); i++) {
D.push_back(max_dis[c][i].second);
}
for (auto a : A) {
for (auto d : D) {
if (a == b || a == c || a == d || d == b || d == c)
continue;
int new_ans = dis[a][b] + dis[b][c] + dis[c][d];
if (new_ans > ans) {
ans = new_ans;
min_b = b;
}
}
}
}
}
cout << ans << " " << min_b << endl;
return 0;
}
用户输出
13 1
系统信息
Exited with return code 0
用户输出
4 1
系统信息
Exited with return code 0
9 20
2 5
3 2
3 4
4 8
4 4
4 3
4 3
4 3
5 9
5 2
5 1
6 2
6 3
7 1
7 9
7 7
8 9
8 9
9 4
<6 bytes omitted>
用户输出
13 2
系统信息
Exited with return code 0
16 23
1 5
2 16
2 6
2 5
3 16
5 6
5 10
5 5
6 4
6 4
6 9
8 10
9 3
11 2
11 12
11 9
12 14
<38 bytes omitted>
用户输出
14 2
系统信息
Exited with return code 0
4 35
1 1
1 1
1 1
1 4
1 2
1 1
1 1
1 1
1 1
2 4
2 2
2 1
2 4
2 2
2 1
2 4
2 2
2 2
2 3
<81 bytes omitted>
用户输出
5 1
系统信息
Exited with return code 0
8 29
1 7
1 2
1 6
1 6
1 7
2 3
2 2
2 1
3 7
3 6
3 7
4 3
4 8
5 4
5 4
5 7
5 7
6 1
6 3
<51 bytes omitted>
用户输出
12 2
系统信息
Exited with return code 0
用户输出
5 3
系统信息
Exited with return code 0
155 2891
34 112
28 62
145 48
30 66
28 4
99 31
4 70
104 53
131 135
5 59
37 127
66 124
43 115
41 30
6
<18932 bytes omitted>
用户输出
9 1
系统信息
Exited with return code 0
648 4723
6 120
344 200
1 442
58 89
324 164
255 306
393 556
174 596
361 139
568 580
267 9
231 242
335
<36170 bytes omitted>
用户输出
18 37
系统信息
Exited with return code 0
1975 2882
318 170
1821 301
728 505
721 913
1365 1157
1459 672
1950 242
1371 55
1072 809
141 1068
140
<25524 bytes omitted>
用户输出
108 1168
系统信息
Exited with return code 0
2032 3056
315 1657
1844 659
46 236
1835 675
342 746
961 1216
915 523
203 592
1170 938
127 108
217 18
<27211 bytes omitted>
用户输出
98 647
系统信息
Exited with return code 0
3000 5000
2649 200
2603 967
889 1881
1332 2220
1266 1396
400 716
593 478
2106 133
2768 1251
2796 118
<46247 bytes omitted>
用户输出
94 1152
系统信息
Exited with return code 0
3000 5000
181 130
509 499
1771 1501
131 2975
790 62
2583 1938
1035 773
1538 1806
2633 295
406 2217
1
<46264 bytes omitted>
用户输出
91 602
系统信息
Exited with return code 0
2990 3500
1211 1075
539 2609
1676 2371
223 1964
1203 2386
1811 1609
1890 188
2224 1397
732 2718
596
<32270 bytes omitted>
用户输出
93 241
系统信息
Exited with return code 0
3000 4000
1511 2959
567 2183
1026 1949
2034 1021
2852 1665
2441 2170
2503 2261
188 2565
1823 2033
14
<36964 bytes omitted>
用户输出
17 30
系统信息
Exited with return code 0
3000 2999
2712 2915
2294 1910
2794 1980
1940 697
1981 1447
792 2721
150 740
252 166
547 64
1571 2866
<27686 bytes omitted>
用户输出
12 184
系统信息
Exited with return code 0
500 5000
62 170
473 455
341 121
117 343
447 160
436 125
323 48
331 468
343 108
279 250
333 475
121 1
<37757 bytes omitted>
用户输出
15 17
系统信息
Exited with return code 0
1000 1000
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
1
<8697 bytes omitted>
用户输出
2997 1
系统信息
Exited with return code 0