QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#393042 | #5112. Where Am I? | shepherd | AC ✓ | 931ms | 823476kb | C++20 | 8.3kb | 2024-04-18 05:31:31 | 2024-04-18 05:31:31 |
Judging History
answer
#include <bits/stdc++.h>
#ifdef LLOCAL
#include "debug.h"
#else
#define var(...)
#define debugArr(...)
#endif
using namespace std;
#define len(a) static_cast<int>((a).size())
#define present(c, x) (c.find(x) != c.end())
#define printDecimal(d) std::cout << std::setprecision(d) << std::fixed
using ll = long long;
using ull = unsigned long long;
using ld = long double;
constexpr const int iinf = 1e9 + 7;
constexpr const ll inf = 1e18;
constexpr const ll mod = 1'000'000'007;
template <typename Fun>
class y_combinator_result {
Fun fun_;
public:
template <typename T>
explicit y_combinator_result(T&& fun) : fun_(std::forward<T>(fun)) {}
template <typename... Args>
decltype(auto) operator()(Args&&... args) {
return fun_(std::ref(*this), std::forward<Args>(args)...);
}
};
template <typename Fun>
decltype(auto) y_combinator(Fun&& fun) {
return y_combinator_result<std::decay_t<Fun>>(std::forward<Fun>(fun));
}
struct TrieNode {
int num_s{0}, weight{0};
vector<int> children;
pair<int, int> last_start;
TrieNode() : children(2, -1) {}
};
static constexpr const int dx[] = {-1, 0, 1, 0};
static constexpr const int dy[] = {0, 1, 0, -1};
int main() {
std::ios_base::sync_with_stdio(false);
cin.tie(0);
int n, m;
cin >> m >> n;
vector<vector<int>> grid(n, vector<int>(m));
for (int i = 0; i < n; i++) {
string line;
cin >> line;
for (int j = 0; j < m; j++) {
if (line[j] == 'X') grid[i][j] = 1;
}
}
auto traverse_grid = [&](int x, int y) {
int nptr = 0;
int top = x, bottom = x, left = y, right = y;
vector<pair<int, int>> compressed{make_pair(grid[x][y], 1)};
for (int num_steps = 1; num_steps < n * m;) {
switch (nptr) {
case 0: {
top--;
for (int i = bottom - 1; i >= top && num_steps < n * m; i--) {
if (i >= 0 && i < n && left >= 0 && left < m) {
if (compressed.empty() ||
compressed.back().first != grid[i][left]) {
compressed.emplace_back(grid[i][left], 1);
} else {
compressed.back().second++;
}
num_steps++;
} else {
if (compressed.empty() || compressed.back().first != 0) {
compressed.emplace_back(0, 1);
} else {
compressed.back().second++;
}
}
}
break;
}
case 1: {
right++;
for (int i = left + 1; i <= right && num_steps < n * m; i++) {
if (i >= 0 && i < m && top >= 0 && top < n) {
if (compressed.empty() ||
compressed.back().first != grid[top][i]) {
compressed.emplace_back(grid[top][i], 1);
} else {
compressed.back().second++;
}
num_steps++;
} else {
if (compressed.empty() || compressed.back().first != 0) {
compressed.emplace_back(0, 1);
} else {
compressed.back().second++;
}
}
}
break;
}
case 2: {
bottom++;
for (int i = top + 1; i <= bottom && num_steps < n * m; i++) {
if (i >= 0 && i < n && right >= 0 && right < m) {
if (compressed.empty() ||
compressed.back().first != grid[i][right]) {
compressed.emplace_back(grid[i][right], 1);
} else {
compressed.back().second++;
}
num_steps++;
} else {
if (compressed.empty() || compressed.back().first != 0) {
compressed.emplace_back(0, 1);
} else {
compressed.back().second++;
}
}
}
break;
}
case 3: {
left--;
for (int i = right - 1; i >= left && num_steps < n * m; i--) {
if (i >= 0 && i < m && bottom >= 0 && bottom < n) {
if (compressed.empty() ||
compressed.back().first != grid[bottom][i]) {
compressed.emplace_back(grid[bottom][i], 1);
} else {
compressed.back().second++;
}
num_steps++;
} else {
if (compressed.empty() || compressed.back().first != 0) {
compressed.emplace_back(0, 1);
} else {
compressed.back().second++;
}
}
}
break;
}
default: {
assert(false);
}
}
nptr = (nptr + 1) % 4;
}
return compressed;
};
vector<vector<vector<pair<int, int>>>> moves(
n, vector<vector<pair<int, int>>>(m));
vector<pair<int, int>> left, right;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
moves[i][j] = traverse_grid(i, j);
reverse(moves[i][j].begin(), moves[i][j].end());
if (moves[i][j].back().first == 0)
left.emplace_back(i, j);
else
right.emplace_back(i, j);
}
}
vector<TrieNode> nodes(1);
y_combinator([&](auto self, int ptr, vector<pair<int, int>> l,
vector<pair<int, int>> r) -> void {
// do interesting stuff in here
if (!l.empty()) {
vector<pair<int, int>> next_right, next_left;
assert(nodes[ptr].children[0] == -1);
nodes.emplace_back();
nodes[ptr].children[0] = len(nodes) - 1;
int min_dist = iinf;
for (const auto& [i, j] : l) {
min_dist = min(min_dist, moves[i][j].back().second);
}
nodes[nodes[ptr].children[0]].weight = min_dist;
nodes[nodes[ptr].children[0]].num_s = len(l);
for (const auto& [i, j] : l) {
assert(moves[i][j].back().first == 0);
moves[i][j].back().second -= min_dist;
nodes[nodes[ptr].children[0]].last_start = make_pair(i, j);
if (moves[i][j].back().second == 0) {
moves[i][j].pop_back();
if (!moves[i][j].empty()) next_right.emplace_back(i, j);
} else {
next_left.emplace_back(i, j);
}
}
self(nodes[ptr].children[0], next_left, next_right);
}
if (!r.empty()) {
vector<pair<int, int>> next_right, next_left;
assert(nodes[ptr].children[1] == -1);
nodes.emplace_back();
nodes[ptr].children[1] = len(nodes) - 1;
int min_dist = iinf;
for (const auto& [i, j] : r) {
min_dist = min(min_dist, moves[i][j].back().second);
}
nodes[nodes[ptr].children[1]].weight = min_dist;
nodes[nodes[ptr].children[1]].num_s = len(r);
for (const auto& [i, j] : r) {
assert(moves[i][j].back().first == 1);
moves[i][j].back().second -= min_dist;
nodes[nodes[ptr].children[1]].last_start = make_pair(i, j);
if (moves[i][j].back().second == 0) {
moves[i][j].pop_back();
if (!moves[i][j].empty()) next_left.emplace_back(i, j);
} else {
next_right.emplace_back(i, j);
}
}
self(nodes[ptr].children[1], next_left, next_right);
}
})(0, left, right);
int max_depth = 0;
unordered_map<int, vector<pair<int, int>>> cnt;
y_combinator([&](auto self, int curr, int depth) {
if (nodes[curr].num_s == 1) {
max_depth = max(max_depth, depth);
cnt[depth].push_back(nodes[curr].last_start);
return;
}
if (nodes[curr].children[0] != -1) {
self(nodes[curr].children[0], depth + nodes[curr].weight);
}
if (nodes[curr].children[1] != -1) {
self(nodes[curr].children[1], depth + nodes[curr].weight);
}
})(0, 0);
double e = 0.0;
for (const auto& [k, v] : cnt) {
e += double(k * len(v)) / double(n * m);
}
printDecimal(3) << e << '\n' << max_depth << '\n';
vector<pair<int, int>> furthest;
for (const auto& elem : cnt[max_depth]) {
furthest.emplace_back(elem.second + 1, n - elem.first);
}
sort(furthest.begin(), furthest.end(), [](auto x, auto y) {
if (x.second != y.second) return x.second < y.second;
return x.first < y.first;
});
for (const auto& [x, y] : furthest) {
cout << "(" << x << "," << y << ") ";
}
cout << '\n';
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3772kb
input:
1 1 X
output:
0.000 0 (1,1)
result:
ok correct!
Test #2:
score: 0
Accepted
time: 0ms
memory: 3996kb
input:
2 1 .X
output:
0.000 0 (1,1) (2,1)
result:
ok correct!
Test #3:
score: 0
Accepted
time: 1ms
memory: 3824kb
input:
2 1 X.
output:
0.000 0 (1,1) (2,1)
result:
ok correct!
Test #4:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
1 2 . X
output:
0.000 0 (1,1) (1,2)
result:
ok correct!
Test #5:
score: 0
Accepted
time: 0ms
memory: 3992kb
input:
1 2 X .
output:
0.000 0 (1,1) (1,2)
result:
ok correct!
Test #6:
score: 0
Accepted
time: 0ms
memory: 4068kb
input:
2 1 XX
output:
3.000 3 (1,1) (2,1)
result:
ok correct!
Test #7:
score: 0
Accepted
time: 1ms
memory: 4004kb
input:
3 3 XXX X.X XXX
output:
3.111 5 (3,1) (3,2)
result:
ok correct!
Test #8:
score: 0
Accepted
time: 759ms
memory: 161548kb
input:
100 100 ..X....X....X....X....X....X....X....X....X....X....X....X....X....X....X....X....X....X....X....X.. .................................................................................................... X............................................................................................
output:
4757.947 9704 (50,1) (50,100)
result:
ok correct!
Test #9:
score: 0
Accepted
time: 879ms
memory: 822884kb
input:
100 100 X................................................................................................... .................................................................................................... .............................................................................................
output:
19735.320 39599 (100,1) (100,2)
result:
ok correct!
Test #10:
score: 0
Accepted
time: 911ms
memory: 822744kb
input:
100 100 .................................................................................................... .................................................................................................... .............................................................................................
output:
19865.670 39500 (100,1) (100,2)
result:
ok correct!
Test #11:
score: 0
Accepted
time: 673ms
memory: 84212kb
input:
100 100 X................................................................................................... .X.................................................................................................. ..X..........................................................................................
output:
11855.639 39302 (100,99) (99,100)
result:
ok correct!
Test #12:
score: 0
Accepted
time: 683ms
memory: 84180kb
input:
100 100 ...................................................................................................X ..................................................................................................X. .............................................................................................
output:
11854.610 39104 (1,99) (2,100)
result:
ok correct!
Test #13:
score: 0
Accepted
time: 61ms
memory: 23472kb
input:
20 73 ...........X........ .X.................. .................... X.....X........X.... ......X........X.... .................... .................... .X.................. .................... ...........X........ .X.................. X................... .......X........X... .X....X........X.... ...
output:
50.098 80 (7,6) (16,6) (20,12) (7,15) (16,15) (7,24) (16,24) (7,33) (16,33) (7,42) (16,42) (19,46) (12,47) (20,47) (7,51) (16,51) (12,56) (19,56) (7,60) (16,60) (20,65) (20,67) (7,69) (16,69)
result:
ok correct!
Test #14:
score: 0
Accepted
time: 159ms
memory: 68896kb
input:
65 57 ..............X.................................................. ................................................................. .........................................................X....... ........X.........X.............................................. ..X.....X........................
output:
100.711 742 (1,1) (2,1)
result:
ok correct!
Test #15:
score: 0
Accepted
time: 77ms
memory: 24096kb
input:
56 59 ........................................................ ........................................................ ........................................................ ........................................................ ........................................................ X...........
output:
494.498 1503 (56,38) (56,39)
result:
ok correct!
Test #16:
score: 0
Accepted
time: 193ms
memory: 68864kb
input:
46 83 ..........X...X.................X............. ..............................X............... ...X.......................................... .....................................X........ ...X...........................X...X.......... .X............................................ ...............
output:
122.545 387 (1,19) (19,32)
result:
ok correct!
Test #17:
score: 0
Accepted
time: 109ms
memory: 39000kb
input:
51 57 ........................X.......................... ............................X...................... ....................X.............X................ ..................................................X ................................................... .........................X...........
output:
103.487 334 (10,57) (11,57)
result:
ok correct!
Test #18:
score: 0
Accepted
time: 283ms
memory: 47384kb
input:
64 91 ................................................................ ................................................................ ................................................................ ................................................................ .....................................
output:
480.573 1215 (64,71) (63,91)
result:
ok correct!
Test #19:
score: 0
Accepted
time: 127ms
memory: 66816kb
input:
75 40 .............................................X............X................ ....................X..............................X....................... ...........................................X...........X...........X....... ...........................................X.....X......X............
output:
79.149 319 (1,39) (1,40)
result:
ok correct!
Test #20:
score: 0
Accepted
time: 300ms
memory: 67632kb
input:
97 54 .............X................................................................................... ..................................X.............................................................. ....X............................................................................................ ...
output:
383.808 1084 (93,9) (51,51)
result:
ok correct!
Test #21:
score: 0
Accepted
time: 223ms
memory: 44708kb
input:
89 49 ...............X...........X............................................................. .............................................................X..X...........X............ .................................X....................................................... ...........................
output:
161.070 520 (89,1) (2,41)
result:
ok correct!
Test #22:
score: 0
Accepted
time: 213ms
memory: 40784kb
input:
80 55 .............................................................X.................. ................................................................................ .................................................................XX............. ..............................................X.......
output:
176.083 611 (80,2) (79,37)
result:
ok correct!
Test #23:
score: 0
Accepted
time: 97ms
memory: 23688kb
input:
61 59 ...........X................................................. ............................................................. .......................................................X..... ............................................................. ...............................X.................
output:
291.706 860 (1,1) (1,50)
result:
ok correct!
Test #24:
score: 0
Accepted
time: 117ms
memory: 36920kb
input:
48 74 ....X.X.X....................................... ...............X.....X...X...................... ..........................................X..... ................................................ ................................................ .......X........................................ ...
output:
152.162 512 (48,9) (48,67)
result:
ok correct!
Test #25:
score: 0
Accepted
time: 752ms
memory: 155788kb
input:
100 96 .................................................................X.................................. .............................X...................................................................... ..............................................................................................
output:
212.396 1031 (1,67) (1,68)
result:
ok correct!
Test #26:
score: 0
Accepted
time: 477ms
memory: 78556kb
input:
94 84 .............................................................................................. .............................................................................................. .............................................................................................. ............
output:
357.121 2687 (1,83) (1,84)
result:
ok correct!
Test #27:
score: 0
Accepted
time: 385ms
memory: 84640kb
input:
86 80 ...........................................................X..........X............... ...................................................................................... X..................................................................................... ....................................
output:
225.856 975 (84,1) (85,1)
result:
ok correct!
Test #28:
score: 0
Accepted
time: 256ms
memory: 71768kb
input:
81 57 .X............X.................................................................. ................................................................................. .....................................X.........X.............X................... ...................................................
output:
139.734 647 (24,1) (81,4)
result:
ok correct!
Test #29:
score: 0
Accepted
time: 254ms
memory: 67032kb
input:
65 85 ................................................................. ................................................................. ................................................................. ...................X............................................. .................................
output:
738.974 3378 (5,45) (5,56)
result:
ok correct!
Test #30:
score: 0
Accepted
time: 421ms
memory: 123780kb
input:
76 98 ............................................................................ ............................................................................ ............................................................................ ..................................................................
output:
1550.391 4192 (76,34) (76,96)
result:
ok correct!
Test #31:
score: 0
Accepted
time: 117ms
memory: 30184kb
input:
62 67 .............................................................. .............................................................. .........................X.................................... ...................................................X.......... .............................................
output:
648.650 2420 (16,1) (1,13)
result:
ok correct!
Test #32:
score: 0
Accepted
time: 297ms
memory: 72288kb
input:
50 98 ..........................................X....... .................................X...............X .................................................. .................................................. .............................................X.... ..........................................
output:
207.338 895 (1,97) (1,98)
result:
ok correct!
Test #33:
score: 0
Accepted
time: 497ms
memory: 135304kb
input:
74 97 ....................X..................................................... .......................................................................... .......................................................................... ................................X.......................................
output:
193.030 1078 (74,70) (71,93)
result:
ok correct!
Test #34:
score: 0
Accepted
time: 173ms
memory: 57568kb
input:
62 77 .............................................................. .............................................................. .............................................................. .............................................................. .............................................
output:
2021.070 4937 (46,73) (8,77)
result:
ok correct!
Test #35:
score: 0
Accepted
time: 132ms
memory: 37100kb
input:
47 74 ............................................... ............................................... ............................................... .....................X......................... ............................................... ............................................X.. .........
output:
142.154 673 (1,74) (2,74)
result:
ok correct!
Test #36:
score: 0
Accepted
time: 132ms
memory: 45964kb
input:
47 71 ...........X....X.............................. ............................................... ............................................... ...........X................................... .............................................X. ..X...........XX............X.................. .........
output:
102.814 334 (44,4) (47,37)
result:
ok correct!
Test #37:
score: 0
Accepted
time: 131ms
memory: 68100kb
input:
51 65 .........X..........X.............................. .................................X....X.........X.. ................................................X.. ................................................... ................................................... .....................................
output:
81.670 314 (1,64) (1,65)
result:
ok correct!
Test #38:
score: 0
Accepted
time: 173ms
memory: 26776kb
input:
40 93 .......X................................ ........................................ ........................................ ........................................ .X...................................... ..................X..................... ........................................ ..........
output:
300.308 1326 (39,93) (40,93)
result:
ok correct!
Test #39:
score: 0
Accepted
time: 558ms
memory: 93068kb
input:
87 99 ....................................................................................... ....................................................................................... ....................................................................................... .................................
output:
474.069 2063 (1,1) (49,1)
result:
ok correct!
Test #40:
score: 0
Accepted
time: 217ms
memory: 63916kb
input:
46 94 .............................................. .............................................. .............................................. .............................................. .............................................. .............................................. ...............
output:
2555.367 5914 (46,1) (46,2)
result:
ok correct!
Test #41:
score: 0
Accepted
time: 253ms
memory: 117552kb
input:
93 60 ............................................................................................. ............................................................................................. ............................................................................................. ...............
output:
2389.200 11288 (21,60) (22,60)
result:
ok correct!
Test #42:
score: 0
Accepted
time: 367ms
memory: 76348kb
input:
98 61 .............................................X................................X................... ...................................................................X.............X................ ..................................................................................X................
output:
225.089 803 (10,61) (11,61)
result:
ok correct!
Test #43:
score: 0
Accepted
time: 634ms
memory: 141348kb
input:
94 95 .............................................................................................. .......................................................X...................................... ............X................................................X.......................X........ ............
output:
213.688 941 (33,89) (33,90)
result:
ok correct!
Test #44:
score: 0
Accepted
time: 371ms
memory: 71048kb
input:
94 72 .............................................................................................. .............................................................................................. .............................................................................................. ............
output:
1330.090 4671 (60,71) (38,72)
result:
ok correct!
Test #45:
score: 0
Accepted
time: 64ms
memory: 36368kb
input:
46 44 ....X...X..............................X...X.. ................................X..X......X... ..............X.........X..................... ......................X...........X........... ......................X.X........X.X...X...... .............X..........X..................... .X.............
output:
67.355 645 (1,1) (2,1)
result:
ok correct!
Test #46:
score: 0
Accepted
time: 147ms
memory: 67880kb
input:
65 51 ................................................................. .........................X....................................... ........X..............X......................................... ....X...............X............................................ .................................
output:
80.041 332 (64,34) (65,34)
result:
ok correct!
Test #47:
score: 0
Accepted
time: 219ms
memory: 70168kb
input:
51 82 ................................................... ...............X...........X.........X............. ..............................X.................... ................................................... ................................................... .......................X.............
output:
100.466 360 (49,3) (51,62)
result:
ok correct!
Test #48:
score: 0
Accepted
time: 247ms
memory: 41912kb
input:
87 60 ....................................................................................... ........................................................................X.............. ....................................................................................... .................................
output:
302.790 799 (87,29) (87,58)
result:
ok correct!
Test #49:
score: 0
Accepted
time: 42ms
memory: 21224kb
input:
53 44 ...................................X................. ..................................................... ............................X....X................... ...X................................................. ..................................................... ....................X......
output:
150.347 930 (52,44) (53,44)
result:
ok correct!
Test #50:
score: 0
Accepted
time: 606ms
memory: 99752kb
input:
94 97 .............................................................................................. .......................................X......................X............................... .............................................................................................. ............
output:
690.646 3826 (1,96) (1,97)
result:
ok correct!
Test #51:
score: 0
Accepted
time: 183ms
memory: 41416kb
input:
70 68 ...................................................................... .....................X...........................X.................... ........X...........................X...........................X..... ...................................................................... .............
output:
356.975 1620 (23,68) (51,68)
result:
ok correct!
Test #52:
score: 0
Accepted
time: 538ms
memory: 108724kb
input:
100 91 .................................................................................................... .................................................................................................... ..............................................................................................
output:
1705.102 4664 (100,44) (100,90)
result:
ok correct!
Test #53:
score: 0
Accepted
time: 397ms
memory: 182236kb
input:
88 84 ........................................................................................ ........................................................................................ ........................................................................................ ..............................
output:
2976.142 8305 (68,1) (69,1)
result:
ok correct!
Test #54:
score: 0
Accepted
time: 42ms
memory: 20536kb
input:
48 44 ................................................ ................................................ ..........X...........X......................... ...X............................................ ...........................X.................... .........X...................................... ...
output:
140.188 466 (8,7) (1,20)
result:
ok correct!
Test #55:
score: 0
Accepted
time: 391ms
memory: 130260kb
input:
98 60 ......................................X.....X..................................................... ......................................X..............................X............................ ............X......................................................X...............................
output:
179.279 713 (98,56) (98,57)
result:
ok correct!
Test #56:
score: 0
Accepted
time: 77ms
memory: 37412kb
input:
58 41 ...............................X...............X.......... ..X..................X....X............................... .......................................................... .....................X.............................X...... ..............................X.................X............
output:
75.130 228 (2,1) (49,27)
result:
ok correct!
Test #57:
score: 0
Accepted
time: 296ms
memory: 74176kb
input:
95 48 ....X.......X.......................X..............X........................X...........X...... ........X...............................X...............................X...................... ........................XX...............................X..................................... .........
output:
115.941 390 (15,48) (79,48)
result:
ok correct!
Test #58:
score: 0
Accepted
time: 109ms
memory: 40416kb
input:
51 62 ................................................... ..............................X.........X.......... ................................................X.. .......................X........................... ..............................................X.... .....................................
output:
127.050 432 (7,1) (51,6)
result:
ok correct!
Test #59:
score: 0
Accepted
time: 600ms
memory: 139816kb
input:
86 98 .......X......X....................................................................... ...................................................................................... ...................................................................................... ....................................
output:
215.501 732 (66,70) (68,72)
result:
ok correct!
Test #60:
score: 0
Accepted
time: 538ms
memory: 81280kb
input:
91 94 ........................................................................................... ........................................................................................... ........................................................................................... .....................
output:
309.110 1541 (78,1) (90,8)
result:
ok correct!
Test #61:
score: 0
Accepted
time: 124ms
memory: 36172kb
input:
74 45 .......................................................................... .......................................................................... ....X.............X..........................................X............ .X................X..........................X............X.............
output:
164.878 772 (1,7) (1,8)
result:
ok correct!
Test #62:
score: 0
Accepted
time: 179ms
memory: 69556kb
input:
54 73 .....X.......X........................................ .............X........................................ ...............X...................................... ................................X..................... ..............................................X....... ......................
output:
106.013 560 (1,1) (1,2)
result:
ok correct!
Test #63:
score: 0
Accepted
time: 311ms
memory: 74936kb
input:
91 56 ........................................................................................... ..............................X.............................X.............................. .....................................................................X..................... .....................
output:
423.715 1455 (63,19) (24,20)
result:
ok correct!
Test #64:
score: 0
Accepted
time: 0ms
memory: 3860kb
input:
1 2 X X
output:
1.000 1 (1,1) (1,2)
result:
ok correct!
Test #65:
score: 0
Accepted
time: 1ms
memory: 3780kb
input:
1 3 X . .
output:
0.667 1 (1,1) (1,2)
result:
ok correct!
Test #66:
score: 0
Accepted
time: 1ms
memory: 3844kb
input:
1 3 . X .
output:
0.667 1 (1,1) (1,3)
result:
ok correct!
Test #67:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
1 3 X X .
output:
0.667 1 (1,2) (1,3)
result:
ok correct!
Test #68:
score: 0
Accepted
time: 1ms
memory: 3828kb
input:
1 3 . . X
output:
3.333 5 (1,2) (1,3)
result:
ok correct!
Test #69:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
1 3 X . X
output:
6.667 10 (1,1) (1,3)
result:
ok correct!
Test #70:
score: 0
Accepted
time: 1ms
memory: 3776kb
input:
1 3 . X X
output:
0.667 1 (1,1) (1,2)
result:
ok correct!
Test #71:
score: 0
Accepted
time: 0ms
memory: 3844kb
input:
1 3 X X X
output:
3.667 5 (1,1) (1,2)
result:
ok correct!
Test #72:
score: 0
Accepted
time: 0ms
memory: 3832kb
input:
1 4 X . . .
output:
5.250 10 (1,1) (1,2)
result:
ok correct!
Test #73:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
1 4 . X . .
output:
2.750 5 (1,1) (1,4)
result:
ok correct!
Test #74:
score: 0
Accepted
time: 0ms
memory: 3928kb
input:
1 4 X X . .
output:
1.000 1 (1,1) (1,2) (1,3) (1,4)
result:
ok correct!
Test #75:
score: 0
Accepted
time: 0ms
memory: 4076kb
input:
1 4 . . X .
output:
2.750 5 (1,3) (1,4)
result:
ok correct!
Test #76:
score: 0
Accepted
time: 1ms
memory: 3844kb
input:
1 4 X . X .
output:
7.500 10 (1,2) (1,4)
result:
ok correct!
Test #77:
score: 0
Accepted
time: 0ms
memory: 3836kb
input:
1 4 . X X .
output:
1.000 1 (1,1) (1,2) (1,3) (1,4)
result:
ok correct!
Test #78:
score: 0
Accepted
time: 1ms
memory: 3932kb
input:
1 4 X X X .
output:
2.750 5 (1,2) (1,3)
result:
ok correct!
Test #79:
score: 0
Accepted
time: 0ms
memory: 3964kb
input:
1 4 . . . X
output:
10.250 18 (1,3) (1,4)
result:
ok correct!
Test #80:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
1 4 X . . X
output:
14.000 27 (1,1) (1,4)
result:
ok correct!
Test #81:
score: 0
Accepted
time: 1ms
memory: 3772kb
input:
1 4 . X . X
output:
5.500 10 (1,1) (1,3)
result:
ok correct!
Test #82:
score: 0
Accepted
time: 1ms
memory: 3836kb
input:
1 4 X X . X
output:
2.750 5 (1,1) (1,4)
result:
ok correct!
Test #83:
score: 0
Accepted
time: 1ms
memory: 3932kb
input:
1 4 . . X X
output:
3.000 5 (1,3) (1,4)
result:
ok correct!
Test #84:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
1 4 X . X X
output:
2.750 5 (1,2) (1,4)
result:
ok correct!
Test #85:
score: 0
Accepted
time: 1ms
memory: 4080kb
input:
1 4 . X X X
output:
2.750 5 (1,1) (1,2)
result:
ok correct!
Test #86:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
1 4 X X X X
output:
6.500 10 (1,2) (1,3)
result:
ok correct!
Test #87:
score: 0
Accepted
time: 1ms
memory: 3776kb
input:
2 2 X. ..
output:
3.750 7 (2,1) (2,2)
result:
ok correct!
Test #88:
score: 0
Accepted
time: 0ms
memory: 3964kb
input:
2 2 .X ..
output:
1.250 2 (1,1) (1,2)
result:
ok correct!
Test #89:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
2 2 XX ..
output:
2.500 3 (1,2) (2,2)
result:
ok correct!
Test #90:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
2 2 .. X.
output:
4.250 6 (2,1) (2,2)
result:
ok correct!
Test #91:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
2 2 X. X.
output:
3.500 6 (2,1) (2,2)
result:
ok correct!
Test #92:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 2 .X X.
output:
1.500 2 (1,1) (2,2)
result:
ok correct!
Test #93:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
2 2 XX X.
output:
1.750 3 (1,2) (2,2)
result:
ok correct!
Test #94:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
2 2 .. .X
output:
2.750 4 (1,2) (2,2)
result:
ok correct!
Test #95:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
2 2 X. .X
output:
2.500 4 (2,1) (1,2)
result:
ok correct!
Test #96:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
2 2 .X .X
output:
1.500 2 (1,1) (1,2)
result:
ok correct!
Test #97:
score: 0
Accepted
time: 1ms
memory: 3928kb
input:
2 2 XX .X
output:
1.750 3 (1,2) (2,2)
result:
ok correct!
Test #98:
score: 0
Accepted
time: 1ms
memory: 4056kb
input:
2 2 .. XX
output:
3.500 4 (1,2) (2,2)
result:
ok correct!
Test #99:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
2 2 X. XX
output:
2.250 4 (2,1) (1,2)
result:
ok correct!
Test #100:
score: 0
Accepted
time: 0ms
memory: 3964kb
input:
2 2 .X XX
output:
1.250 2 (1,1) (2,2)
result:
ok correct!
Test #101:
score: 0
Accepted
time: 0ms
memory: 3888kb
input:
2 2 XX XX
output:
2.500 3 (1,2) (2,2)
result:
ok correct!
Test #102:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
3 1 X..
output:
4.667 7 (2,1) (3,1)
result:
ok correct!
Test #103:
score: 0
Accepted
time: 1ms
memory: 3992kb
input:
3 1 .X.
output:
2.000 3 (1,1) (3,1)
result:
ok correct!
Test #104:
score: 0
Accepted
time: 1ms
memory: 3892kb
input:
3 1 XX.
output:
2.000 3 (1,1) (2,1)
result:
ok correct!
Test #105:
score: 0
Accepted
time: 0ms
memory: 3844kb
input:
3 1 ..X
output:
2.000 3 (1,1) (2,1)
result:
ok correct!
Test #106:
score: 0
Accepted
time: 0ms
memory: 3844kb
input:
3 1 X.X
output:
9.333 14 (1,1) (3,1)
result:
ok correct!
Test #107:
score: 0
Accepted
time: 1ms
memory: 3836kb
input:
3 1 .XX
output:
2.000 3 (2,1) (3,1)
result:
ok correct!
Test #108:
score: 0
Accepted
time: 0ms
memory: 4076kb
input:
3 1 XXX
output:
5.667 7 (1,1) (2,1)
result:
ok correct!
Test #109:
score: 0
Accepted
time: 1ms
memory: 3832kb
input:
4 1 X...
output:
12.750 22 (3,1) (4,1)
result:
ok correct!
Test #110:
score: 0
Accepted
time: 0ms
memory: 3992kb
input:
4 1 .X..
output:
4.250 7 (3,1) (4,1)
result:
ok correct!
Test #111:
score: 0
Accepted
time: 0ms
memory: 3928kb
input:
4 1 XX..
output:
5.000 7 (3,1) (4,1)
result:
ok correct!
Test #112:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
4 1 ..X.
output:
4.250 7 (1,1) (4,1)
result:
ok correct!
Test #113:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
4 1 X.X.
output:
8.500 14 (1,1) (3,1)
result:
ok correct!
Test #114:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
4 1 .XX.
output:
3.000 3 (1,1) (2,1) (3,1) (4,1)
result:
ok correct!
Test #115:
score: 0
Accepted
time: 0ms
memory: 3832kb
input:
4 1 XXX.
output:
4.250 7 (1,1) (2,1)
result:
ok correct!
Test #116:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
4 1 ...X
output:
7.750 14 (1,1) (2,1)
result:
ok correct!
Test #117:
score: 0
Accepted
time: 0ms
memory: 4072kb
input:
4 1 X..X
output:
18.000 33 (1,1) (4,1)
result:
ok correct!
Test #118:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
4 1 .X.X
output:
10.500 14 (2,1) (4,1)
result:
ok correct!
Test #119:
score: 0
Accepted
time: 1ms
memory: 3832kb
input:
4 1 XX.X
output:
4.250 7 (2,1) (4,1)
result:
ok correct!
Test #120:
score: 0
Accepted
time: 0ms
memory: 3928kb
input:
4 1 ..XX
output:
3.000 3 (1,1) (2,1) (3,1) (4,1)
result:
ok correct!
Test #121:
score: 0
Accepted
time: 0ms
memory: 4080kb
input:
4 1 X.XX
output:
4.250 7 (1,1) (4,1)
result:
ok correct!
Test #122:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
4 1 .XXX
output:
4.250 7 (2,1) (3,1)
result:
ok correct!
Test #123:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
4 1 XXXX
output:
9.500 14 (2,1) (3,1)
result:
ok correct!
Test #124:
score: 0
Accepted
time: 5ms
memory: 4080kb
input:
100 1 X...................................................................................................
output:
13274.590 38710 (99,1) (100,1)
result:
ok correct!
Test #125:
score: 0
Accepted
time: 5ms
memory: 3976kb
input:
100 1 ...................................................................................................X
output:
13076.630 38318 (1,1) (2,1)
result:
ok correct!
Test #126:
score: 0
Accepted
time: 5ms
memory: 4236kb
input:
100 1 ..................................................X.................................................
output:
3356.010 9751 (1,1) (100,1)
result:
ok correct!
Test #127:
score: 0
Accepted
time: 7ms
memory: 4656kb
input:
100 1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
output:
3457.500 9950 (50,1) (51,1)
result:
ok correct!
Test #128:
score: 0
Accepted
time: 6ms
memory: 4356kb
input:
100 1 X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.
output:
3554.940 9950 (49,1) (51,1)
result:
ok correct!
Test #129:
score: 0
Accepted
time: 13ms
memory: 5600kb
input:
100 2 X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X. .X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X
output:
3451.070 9751 (49,1) (51,1)
result:
ok correct!
Test #130:
score: 0
Accepted
time: 5ms
memory: 4232kb
input:
1 100 X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
output:
12977.650 38122 (1,1) (1,2)
result:
ok correct!
Test #131:
score: 0
Accepted
time: 5ms
memory: 3988kb
input:
1 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X
output:
13175.610 38514 (1,99) (1,100)
result:
ok correct!
Test #132:
score: 0
Accepted
time: 5ms
memory: 4020kb
input:
1 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
output:
3306.030 9653 (1,99) (1,100)
result:
ok correct!
Test #133:
score: 0
Accepted
time: 3ms
memory: 4556kb
input:
1 100 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
output:
3406.500 9850 (1,50) (1,51)
result:
ok correct!
Test #134:
score: 0
Accepted
time: 3ms
memory: 4192kb
input:
1 100 X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X .
output:
3503.020 9850 (1,50) (1,52)
result:
ok correct!
Test #135:
score: 0
Accepted
time: 13ms
memory: 5668kb
input:
2 100 X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X X. .X ...
output:
3401.110 9654 (2,49) (2,51)
result:
ok correct!
Test #136:
score: 0
Accepted
time: 1ms
memory: 4120kb
input:
10 10 XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
output:
58.080 95 (5,10) (6,10)
result:
ok correct!
Test #137:
score: 0
Accepted
time: 746ms
memory: 306364kb
input:
100 100 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .................................................................................................... .............................................................................................
output:
13878.928 38908 (99,1) (100,1)
result:
ok correct!
Test #138:
score: 0
Accepted
time: 744ms
memory: 298056kb
input:
100 100 .................................................................................................... .................................................................................................... .............................................................................................
output:
14059.272 39302 (99,100) (100,100)
result:
ok correct!
Test #139:
score: 0
Accepted
time: 740ms
memory: 300336kb
input:
100 100 X................................................................................................... X................................................................................................... X............................................................................................
output:
14132.283 39500 (100,1) (100,2)
result:
ok correct!
Test #140:
score: 0
Accepted
time: 746ms
memory: 297912kb
input:
100 100 ...................................................................................................X ...................................................................................................X .............................................................................................
output:
13951.432 39104 (1,99) (1,100)
result:
ok correct!
Test #141:
score: 0
Accepted
time: 896ms
memory: 823476kb
input:
100 100 .................................................................................................... .................................................................................................... .............................................................................................
output:
19733.340 39302 (99,100) (100,100)
result:
ok correct!
Test #142:
score: 0
Accepted
time: 931ms
memory: 822684kb
input:
100 100 ...................................................................................................X .................................................................................................... .............................................................................................
output:
19601.010 39104 (1,99) (1,100)
result:
ok correct!
Test #143:
score: 0
Accepted
time: 916ms
memory: 822672kb
input:
100 100 .................................................................................................... .................................................................................................... .............................................................................................
output:
5001.490 10098 (99,100) (100,100)
result:
ok correct!
Test #144:
score: 0
Accepted
time: 11ms
memory: 8060kb
input:
20 20 .XX......XX.....XXXX ..X.....X..X....X... .....X.............. X..XX.X..XX......XX. X..........X........ ...X..X............X .X...X..........XXXX .X...XX..XX....X.... X.X.XX...X.......X.X XXXXX....X........X. .X.XX.X..XX...X.X... X.......X..XXX.....X .X..X..X.X......X... .........X....X...X. ...
output:
12.813 31 (13,5) (15,18)
result:
ok correct!
Test #145:
score: 0
Accepted
time: 90ms
memory: 42432kb
input:
50 50 .................................................. ..................X...............X............... .................................................. ....X...X........................X........X..X.... .................X................................ ..........................................
output:
60.831 195 (28,1) (1,35)
result:
ok correct!
Test #146:
score: 0
Accepted
time: 764ms
memory: 162752kb
input:
100 100 .................................................................................................... .................................................................................................... .............................................................................................
output:
227.535 1062 (96,95) (55,100)
result:
ok correct!
Extra Test:
score: 0
Extra Test Passed