QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#412337#3172. Tomb RaiderfrizzfrizzAC ✓321ms86712kbC++145.7kb2024-05-16 12:01:102024-05-16 12:01:12

Judging History

This is the latest submission verdict.

  • [2024-05-16 12:01:12]
  • Judged
  • Verdict: AC
  • Time: 321ms
  • Memory: 86712kb
  • [2024-05-16 12:01:10]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;

#define A first
#define B second
#define SZ(x) (int)(x.size())

#define FR(i, a, b) for (int i = (a); i < (b); i++)
#define FOR(i, n) FR(i, 0, n)

int N, M, back = (int)('\\'), forw = (int)('/'), garN, gars[250005][2], dirs[4][2], mir[100][4], allVis[250005], ret[3];
int wheMem[505][505][4][3]; // [i][j][d] is -1, -1, -1 if uninitialized, if sees gargoyle, 1, garg ind, dir of ins, else 0, -1, -2
map<pair<int, int>, int> locToGar;
LL cost[2];
char grid[505][505], garDir[250005];
unordered_map<int, char> curVis; // maps vertices currently visited to 'H' or 'V'
vector<pair<int, int> > adj[250005];
bool valid(int i, int j)
{
    return 0 <= i && i < N && 0 <= j && j < M;
}

char opp(char ori)
{
    if (ori == 'H')
        return 'V';
    return 'H';
}

void assign(int garI, char ori)
{
    curVis[garI] = ori;
    allVis[garI] = 1;
    FOR(j, adj[garI].size())
    {
        if (curVis.find(adj[garI][j].A) != curVis.end())
            continue;
        if (adj[garI][j].B == 0)
            assign(adj[garI][j].A, ori);
        else
            assign(adj[garI][j].A, opp(ori));
    }
}

void whereTo(int i, int j, int d)
{
    if (wheMem[i][j][d][0] != -1)
    {
        FOR(k, 3)
            ret[k] = wheMem[i][j][d][k];
        return;
    }
    int moveI = i + dirs[d][0], moveJ = j + dirs[d][1];
    if (valid(moveI, moveJ))
    {
        if (grid[moveI][moveJ] == '#')
        {
            wheMem[i][j][d][0] = 0;
            wheMem[i][j][d][1] = -1;
            wheMem[i][j][d][1] = -2;
            ret[0] = 0;
            ret[1] = -1;
            ret[2] = -2;
            return;
        }
        if (grid[moveI][moveJ] == 'V' || grid[moveI][moveJ] == 'H')
        {
            wheMem[i][j][d][0] = 1;
            wheMem[i][j][d][1] = locToGar[{moveI, moveJ}];
            wheMem[i][j][d][2] = d;
            ret[0] = wheMem[i][j][d][0];
            ret[1] = wheMem[i][j][d][1];
            ret[2] = wheMem[i][j][d][2];
            return;
        }
        if (grid[moveI][moveJ] == '.')
        {
            whereTo(moveI, moveJ, d);
            FOR(k, 3)
                wheMem[i][j][d][k] = ret[k];
            return;
        }
        whereTo(moveI, moveJ, mir[grid[moveI][moveJ]][d]);
        FOR(k, 3)
            wheMem[i][j][d][k] = ret[k];
        return;
    }
    else
    {
        if (grid[i][j] == '#')
        {
            wheMem[i][j][d][0] = 0;
            wheMem[i][j][d][1] = -1;
            wheMem[i][j][d][1] = -2;
            ret[0] = 0;
            ret[1] = -1;
            ret[2] = -2;
            return;
        }
        if (grid[i][j] == 'V' || grid[i][j] == 'H')
        {
            wheMem[i][j][d][0] = 1;
            wheMem[i][j][d][1] = locToGar[{i, j}];
            wheMem[i][j][d][2] = (d + 2) % 4;
            ret[0] = wheMem[i][j][d][0];
            ret[1] = wheMem[i][j][d][1];
            ret[2] = wheMem[i][j][d][2];
            return;
        }
        if (grid[i][j] == '.')
        {
            whereTo(i, j, (d + 2) % 4);
            FOR(k, 3)
                wheMem[i][j][d][k] = ret[k];
            return;
        }
        whereTo(i, j, mir[grid[i][j]][(d + 2) % 4]);
        FOR(k, 3)
            wheMem[i][j][d][k] = ret[k];
        return;
    }
}

void calcCost(int i)
{
    for (auto p: curVis)
    {
        int x = p.A;
        char ori = p.B;
        FOR(d2, 4)
        {
            if (ori == 'H' && (d2 == 0 || d2 == 2))
                continue;
            if (ori == 'V' && (d2 == 1 || d2 == 3))
                continue;
            if (wheMem[gars[x][0]][gars[x][1]][d2][0] != 1)
                cost[i] += 1e9;
            else
            {
                int neiG = wheMem[gars[x][0]][gars[x][1]][d2][1], inDir = wheMem[gars[x][0]][gars[x][1]][d2][2];
                if ((curVis[neiG] == 'H') != (inDir == 1 || inDir == 3))
                    cost[i] += 1e9;
            }
        }
        if (ori != grid[gars[x][0]][gars[x][1]])
            cost[i]++;
    }
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin >> N >> M;
    dirs[0][0] = -1;
    dirs[0][1] = 0;
    dirs[1][0] = 0;
    dirs[1][1] = 1;
    dirs[2][0] = 1;
    dirs[2][1] = 0;
    dirs[3][0] = 0;
    dirs[3][1] = -1;

    mir[back][0] = 3;
    mir[back][1] = 2;
    mir[back][2] = 1;
    mir[back][3] = 0;

    mir[forw][0] = 1;
    mir[forw][1] = 0;
    mir[forw][2] = 3;
    mir[forw][3] = 2;
    FOR(i, N)
    {
        FOR(j, M)
        {
            cin >> grid[i][j];
            if (grid[i][j] == 'H' || grid[i][j] == 'V')
            {
                gars[garN][0] = i;
                gars[garN][1] = j;
                garDir[garN] = grid[i][j];
                locToGar[{i, j}] = garN;
                garN++;
            }
            FOR(d, 4)
            {
                wheMem[i][j][d][0] = -1;
                wheMem[i][j][d][1] = -1;
                wheMem[i][j][d][2] = -1;
            }
        }
    }
    FOR(m, garN)
    {
        FOR(d, 4)
        {
            int x = gars[m][0], y = gars[m][1];
            whereTo(x, y, d);
            if (wheMem[x][y][d][0] == 1)
                adj[m].push_back({wheMem[x][y][d][1], (d - wheMem[x][y][d][2] + 4) % 2});
        }
    }
    LL ans = 0;
    FOR(m, garN)
    {
        if (allVis[m])
            continue;
        cost[0] = 0;
        cost[1] = 0;
        curVis.clear();
        assign(m, 'H');
        calcCost(0);
        curVis.clear();
        assign(m, 'V');
        calcCost(1);
        ans += min(cost[0], cost[1]);
    }
    if (ans >= 1e9)
        cout << -1;
    else
        cout << ans;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 3ms
memory: 12592kb

input:

5 5
/.V.\
./.V.
..#..
.V.#.
\.V./

output:

3

result:

ok single line: '3'

Test #2:

score: 0
Accepted
time: 4ms
memory: 15776kb

input:

2 5
V...\
H...V

output:

-1

result:

ok single line: '-1'

Test #3:

score: 0
Accepted
time: 3ms
memory: 13300kb

input:

2 2
VV
VV

output:

0

result:

ok single line: '0'

Test #4:

score: 0
Accepted
time: 3ms
memory: 14332kb

input:

4 3
/.\
H..
\H.
..H

output:

1

result:

ok single line: '1'

Test #5:

score: 0
Accepted
time: 4ms
memory: 14120kb

input:

5 5
.....
.H.V.
.....
.H.H.
.....

output:

1

result:

ok single line: '1'

Test #6:

score: 0
Accepted
time: 3ms
memory: 13152kb

input:

4 12
./.....\/.\.
.V\#/V./.#V\
/H/#\H../#H/
\........./.

output:

-1

result:

ok single line: '-1'

Test #7:

score: 0
Accepted
time: 0ms
memory: 14324kb

input:

4 12
./.....\/.\.
.V\#/V./.#V\
/H/#\H../#H/
\\......../.

output:

3

result:

ok single line: '3'

Test #8:

score: 0
Accepted
time: 3ms
memory: 13412kb

input:

2 2
#H
V#

output:

-1

result:

ok single line: '-1'

Test #9:

score: 0
Accepted
time: 3ms
memory: 12488kb

input:

2 2
V.
\#

output:

1

result:

ok single line: '1'

Test #10:

score: 0
Accepted
time: 3ms
memory: 13104kb

input:

2 2
V#
\#

output:

-1

result:

ok single line: '-1'

Test #11:

score: 0
Accepted
time: 0ms
memory: 14128kb

input:

3 5
V.#.\
./\..
\/\./

output:

-1

result:

ok single line: '-1'

Test #12:

score: 0
Accepted
time: 0ms
memory: 12712kb

input:

2 2
/#
H/

output:

-1

result:

ok single line: '-1'

Test #13:

score: 0
Accepted
time: 3ms
memory: 12712kb

input:

1 1
H

output:

0

result:

ok single line: '0'

Test #14:

score: 0
Accepted
time: 0ms
memory: 15788kb

input:

2 1
V
#

output:

1

result:

ok single line: '1'

Test #15:

score: 0
Accepted
time: 0ms
memory: 13456kb

input:

1 2
#H

output:

1

result:

ok single line: '1'

Test #16:

score: 0
Accepted
time: 0ms
memory: 16252kb

input:

5 5
V\#VH
H/#\/
#####
/\#/V
VH#\H

output:

4

result:

ok single line: '4'

Test #17:

score: 0
Accepted
time: 0ms
memory: 14692kb

input:

4 5
/.\/#
.///\
.\V/.
\.../

output:

1

result:

ok single line: '1'

Test #18:

score: 0
Accepted
time: 3ms
memory: 13420kb

input:

3 3
/\#
\.\
#\H

output:

-1

result:

ok single line: '-1'

Test #19:

score: 0
Accepted
time: 2ms
memory: 12460kb

input:

3 3
/\#
\V\
#\/

output:

-1

result:

ok single line: '-1'

Test #20:

score: 0
Accepted
time: 0ms
memory: 12800kb

input:

4 4
/..\
./\.
.H./
\./#

output:

-1

result:

ok single line: '-1'

Test #21:

score: 0
Accepted
time: 3ms
memory: 15692kb

input:

4 6
/.\...
....H\
..HHH.
\..../

output:

-1

result:

ok single line: '-1'

Test #22:

score: 0
Accepted
time: 3ms
memory: 12952kb

input:

4 4
/\/\
\/H/
/H/\
\/\/

output:

-1

result:

ok single line: '-1'

Test #23:

score: 0
Accepted
time: 0ms
memory: 12728kb

input:

6 6
../\..
..HH..
/H..V\
\H..H/
..HV..
..\/..

output:

2

result:

ok single line: '2'

Test #24:

score: 0
Accepted
time: 0ms
memory: 13308kb

input:

6 6
../\..
..HH#.
/H..V\
\H..H/
..HV#.
..\/..

output:

4

result:

ok single line: '4'

Test #25:

score: 0
Accepted
time: 0ms
memory: 15848kb

input:

6 6
../\..
..HH..
/H..V\
\H#.H/
..HV..
..\/..

output:

4

result:

ok single line: '4'

Test #26:

score: 0
Accepted
time: 0ms
memory: 16128kb

input:

3 2
V\
V.
\/

output:

-1

result:

ok single line: '-1'

Test #27:

score: 0
Accepted
time: 3ms
memory: 14408kb

input:

5 4
V.V\
/../
\..\
/../
V.V.

output:

-1

result:

ok single line: '-1'

Test #28:

score: 0
Accepted
time: 3ms
memory: 12724kb

input:

3 2
V#
..
VV

output:

-1

result:

ok single line: '-1'

Test #29:

score: 0
Accepted
time: 3ms
memory: 14136kb

input:

4 4
#V..
.VV.
..VV
...#

output:

-1

result:

ok single line: '-1'

Test #30:

score: 0
Accepted
time: 0ms
memory: 13288kb

input:

4 5
#V...
.VV\.
...VV
#...V

output:

-1

result:

ok single line: '-1'

Test #31:

score: 0
Accepted
time: 0ms
memory: 12400kb

input:

4 7
#V.../\
.VV..//
....//.
...VV.#

output:

-1

result:

ok single line: '-1'

Test #32:

score: 0
Accepted
time: 2ms
memory: 13212kb

input:

4 4
/\.H
\/#.
##//
V./V

output:

2

result:

ok single line: '2'

Test #33:

score: 0
Accepted
time: 0ms
memory: 12968kb

input:

4 4
H/\V
/VH\
\HH/
V\/H

output:

1

result:

ok single line: '1'

Test #34:

score: 0
Accepted
time: 0ms
memory: 13152kb

input:

2 4
/V\\
\\.V

output:

1

result:

ok single line: '1'

Test #35:

score: 0
Accepted
time: 3ms
memory: 15932kb

input:

2 3
/V\
\.V

output:

-1

result:

ok single line: '-1'

Test #36:

score: 0
Accepted
time: 18ms
memory: 25400kb

input:

500 500
V...V.....H.......H.......V.......................H...V.H.......V.....H.V...V.........V.......H.........V...................H.....................H.H.................................V.................H.......V.........V...V.H.V.H.....H.......V.........V.V.V.....V...................H.......V....

output:

6264

result:

ok single line: '6264'

Test #37:

score: 0
Accepted
time: 9ms
memory: 24256kb

input:

500 500
.......................................................................................................................................................................................................................................................................................................

output:

297

result:

ok single line: '297'

Test #38:

score: 0
Accepted
time: 3ms
memory: 15840kb

input:

22 22
V/VVHVVHHHHHVVVVHVHHH\
HV/HHVHHHVVHVVHHHVVV\V
HHV/HHVVHHHHVHVVHVH\HH
VVHV/VHVHHVHHHHVHV\VVH
VVVVH/HHVHVVHHHVV\VHVV
VVHHVH/HVHHHVVVV\VVHHV
VHHHVVV/VVVVHVV\HHVVHH
HHVHVVVV/VVVHH\HHVHHHH
VVHHHHVVV/HVH\VVHVHVHV
HVHVHHHHHH/V\HVVHHHVVH
...........\HVVHHHVVVH
VVHVVVVHVV\/VVVVVHHVVV
HVVVVVVVV\HH/VHVVV...

output:

201

result:

ok single line: '201'

Test #39:

score: 0
Accepted
time: 305ms
memory: 81484kb

input:

500 500
V/HHVHHHVVVVVHVVVVHVVHHVVHVHVVHVHHHHHVHHVVHHVHVHHVVVHVVVVHHVHHHVVHHHVHVVVHHVVHHHHHVVVHVHVHVVHVHVVVVVVVVHVVVVVVVVHHHVVVVHVHHVHVVHHHHVHVHVHHVHVVHHVHHVVVVHVVVHHHHHVVHVVHVVHVHVVVHHVHHHVHHVHVVVHVVHVVHHVVVVHVVHVHHVVHHHHHVVVHVVVVVVHVVVVHHHHVVHVVVHHHHHVHVVHHHHHVVHVVVHHHVHVVVVHVVVHVHHVVHVHHVHHVHVVVHV...

output:

124323

result:

ok single line: '124323'

Test #40:

score: 0
Accepted
time: 232ms
memory: 67256kb

input:

377 497
V/HVVHHHVVVVVHHVVVHHHHVHVHHHVVVVHVVVHVHHHVHHHHVHVHVVVHHVHHVHHHVHVHVHVHHHHHVVHVVVVHVVHHHVVHVHHVVHVHVHVVHVVVVHVHVHVVHVHHVVHVHVHVHVVHVVHVVVHHHHHHHVVHHVVHVVVHVVVVHHVVHVVHHVVVVHVHHVHHVVHVVVHHVHVHHVHHHVVVVVHVHVHVVVHHHHHHHHVVVHHVVVHHVHHHVHHHVVHHVVHHVVHVHVHVVVVHVHHVHVVHHVHHVVHVHHHVVHHVHVVVHVHVVHHHHH...

output:

93082

result:

ok single line: '93082'

Test #41:

score: 0
Accepted
time: 321ms
memory: 81500kb

input:

500 500
HHHHVVVHHHHHVHHVHVHHVVHVVHVHHHHHHVVVVVVVVVVHVHVVHHVVVVHHVVHVVVVVHVHVVHHVHVHVVHHHHVHHVVHHHVHVVVHHVHVVHVVVVVHHHHHHVHHHVVHVVVHVHHHVHHVVHVHVVHVHVVVVHVHVHVHVHHHHVVVVVVVVVVHVVHHHHHHHHHHHVHHVHHHVVVVVHHHVHVVHHVVVVHVVHVVVVVVVVVHHVVHVVHHHHHHVHVVHHHHHVHHHHVHHVVVVHHHHVVHVVHHHVVHVVHVHHHVVVVVVVVHHVVVVHVHV...

output:

124838

result:

ok single line: '124838'

Test #42:

score: 0
Accepted
time: 279ms
memory: 70296kb

input:

500 500
HV..VHVVHV..V.VVV.VHH.V...VVH.HV.VVVH.VV.VVHVHHHV.HHHVVVVHHHVV.V.V.H.HHVV.H.VVVH...VV.H.VVHHVVVHHV.HV.VV..HHH.VHVV..VVHVVVHHHHVV..H.HV.VH.HHV.V.V..VHH.H.HVVHHHHHVHVVH.VHV..VHVVHHHVHH.HHHV.VHVHHV.HHVVVVH..HV.VHVVVVVHVVHHVVH.V.HVHVVHVVVH.V.HH.VVV.VV.VV...H..VHV.HVVHVVVVV.H.V.H.VV.VHVVHH.HV.VV....

output:

99969

result:

ok single line: '99969'

Test #43:

score: 0
Accepted
time: 19ms
memory: 23876kb

input:

500 500
.............................H...................................................................H..............V........................................H........H...................................V...........................H....V...............................V..H............................

output:

3492

result:

ok single line: '3492'

Test #44:

score: 0
Accepted
time: 15ms
memory: 23372kb

input:

500 499
...........................H.........H..................................................................................................................V........................................................................................................H...............................V.....

output:

1178

result:

ok single line: '1178'

Test #45:

score: 0
Accepted
time: 21ms
memory: 24316kb

input:

500 500
...........................................................H........................................................................................................................................................................................V..........................V.......................

output:

307

result:

ok single line: '307'

Test #46:

score: 0
Accepted
time: 106ms
memory: 39556kb

input:

500 500
/.H.......VHV..H.HVH....V..V.V.H.V........V...V..H.........V.H...VVV....V..V.H...V........H.....HV...VVHV..V............V..VV....V.H....V.HV...H.......V........HHV..V....V...V.......HVH...V...HH...V...V.HH...V...VV..V....H.H......V....H.....V..V..V....V..HH...H...V.H..V.HV..HH.H..H...HVH..HH...

output:

37291

result:

ok single line: '37291'

Test #47:

score: 0
Accepted
time: 24ms
memory: 24512kb

input:

500 500
/...............................................................................................H......................................................................................................................................................................................................

output:

1202

result:

ok single line: '1202'

Test #48:

score: 0
Accepted
time: 25ms
memory: 24908kb

input:

499 499
.....................#....#...#...#.....#..................#.................#....#..#.................................#..#...............#..#.#.#.....#......#.............#..#.......#...#................................#..#...#..#.#.................#...#........#....#......#....#.....#.#......

output:

282

result:

ok single line: '282'

Test #49:

score: 0
Accepted
time: 78ms
memory: 30188kb

input:

499 499
..............#....#...##..#......#.......#.#...#.#......#...............#....................#...............#...........#.......#....#........#......#......#.........#.#.#...#.....#....#.#.#..#..........#.........##...#......#..#..#.......#.....#...........#.#...#............#...#...#..#.....

output:

29350

result:

ok single line: '29350'

Test #50:

score: 0
Accepted
time: 22ms
memory: 24752kb

input:

500 500
/V.....................................................................................................................................................................................................................................................................................................

output:

734

result:

ok single line: '734'

Test #51:

score: 0
Accepted
time: 16ms
memory: 24240kb

input:

500 500
/......................................................................................................................................................................................................................................................................................................

output:

288

result:

ok single line: '288'

Test #52:

score: 0
Accepted
time: 148ms
memory: 52868kb

input:

500 500
VHHVHHVVVHVVVVVHVHVHHVVHHHHHHVVHVVHHHVHVVVHHHVHVVHHVVVHHHHVHVVVHVHVVHHHVVVVHHVHHHVVHHVHHVHHVHVHVVHHVHHVHVVVVHVVHVHHVHVVVVHHHHHHVVHHHVHHVVVHHVHVVHVHVHHVHHHVHVVVVHVHVVHVHVVVVVVVHHHHHHHHHVVHVVHHHHVHVVHVHVHVVHVHHHVHHHHHHVHVVVVVHHVVHHHVHVVHHHHVVVVHHHHHHHH\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...

output:

62231

result:

ok single line: '62231'

Test #53:

score: 0
Accepted
time: 94ms
memory: 39544kb

input:

498 498
HVVHHVVHVVHHVVHHHHHHHHVHHHVHHVVHHVVHHHHHVVHHHVHVVHVHHVHVHVVVVHHHHHVHVHHVHVHHVHHHHVHHVVVHHVHHHVHVHVVVHHVHHHHVVVHHHVHVHVHHVHHVVVVVVHHVVVHHVHHHHHVVVHVHVVVHHHHHVHVVHVHVHH.................................................................................................................................

output:

41225

result:

ok single line: '41225'

Test #54:

score: 0
Accepted
time: 153ms
memory: 48828kb

input:

500 500
V/H\V/V/V\V/H\V/V/H/V/V\V\H\H/H\V\H\V\H/H/H/V/H/V\V/H\V\H\H\V/H/H\H\H/H/H/H\H/H/V\H\H\V/H\H\H\H\V\V/V/H/H/V/H\H\H/H\V/V/H/V/H/H\V\V\V/H\H\V/H\V\H/V/H/V/V/H\H/V/H\H/H\H/V\H\H\H\V/V\V/V/V/V\H\V/V/V\H\H\V/H\V/V\V/H\V/H\V\V/V/H/V\V/V\H/H\V\H\V\V\V/H\H\H/V\V/H/H\H\V/V\H/H/H/V/H/V/H/H/V/V\H/V\H/V\...

output:

62463

result:

ok single line: '62463'

Test #55:

score: 0
Accepted
time: 155ms
memory: 46972kb

input:

500 500
VV\\VV//HV\\VH//VH\\VH//HV\\VV\\VH//HV\\VV//VV//VH//HH//HV//VV//VH\\VH//VH//HH//VV\\VV\\VH//VV\\HH\\HV//HH\\HH\\VV\\HH\\HV//VV\\HV\\VV\\HV//VH\\VV//VV\\HV\\HH\\VV//HH\\HH//HH//VH\\VH//HH//VV\\HV\\VV//VH//HH\\HH//VH//HV\\HH\\HV//VV\\VV//HH\\VH//HV\\HH\\VH//HH//VV//VV\\VH\\VV\\HV\\VV\\VH\\VV\\...

output:

62355

result:

ok single line: '62355'

Test #56:

score: 0
Accepted
time: 152ms
memory: 44712kb

input:

500 500
VHVHHVVHVHHVVVHVHHVVVHHHHHVVHHVHVVHHVVHHVHVHHHHHHH\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\VHHVHHHVHHVVVVHHVVHHVHHVHVVVHHVVHVVHVHHVHHHVHHHVHH\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\VHVHHHVHVHVHHHVHVVVHVHHHVVVHVVVVVHHVVVHVHVVHVHHVVV\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...

output:

62448

result:

ok single line: '62448'

Test #57:

score: 0
Accepted
time: 13ms
memory: 24064kb

input:

500 500
VV.....................................................................................................................................................................................................................................................................................................

output:

498

result:

ok single line: '498'

Test #58:

score: 0
Accepted
time: 22ms
memory: 23396kb

input:

500 500
HV.....................................................................................................................................................................................................................................................................................................

output:

-1

result:

ok single line: '-1'

Test #59:

score: 0
Accepted
time: 38ms
memory: 26944kb

input:

500 500
HHVVHVVVVHHHVHHVVVHHVVHHVVVHVVVVHHHHVVVHVVHVVVVVVV.....................................................................................................................................................................................................................................................

output:

12462

result:

ok single line: '12462'

Test #60:

score: 0
Accepted
time: 39ms
memory: 28532kb

input:

500 500
VHVHVVVVVVVHHHVHVHVHVHVHHHHHHVHVHHHHVVVVVVHVVVHVHH.....................................................................................................................................................................................................................................................

output:

-1

result:

ok single line: '-1'

Test #61:

score: 0
Accepted
time: 51ms
memory: 84876kb

input:

500 500
#HH/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/...

output:

241

result:

ok single line: '241'

Test #62:

score: 0
Accepted
time: 36ms
memory: 86712kb

input:

500 500
#VH/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/...

output:

-1

result:

ok single line: '-1'

Test #63:

score: 0
Accepted
time: 10ms
memory: 55404kb

input:

500 500
.......................................................................................................................................................................................................................................................................................................

output:

0

result:

ok single line: '0'

Test #64:

score: 0
Accepted
time: 24ms
memory: 54856kb

input:

499 499
/........................................................................................................................................................................................................................................................\.............................................

output:

-1

result:

ok single line: '-1'

Test #65:

score: 0
Accepted
time: 2ms
memory: 23432kb

input:

500 500
H/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/...

output:

244

result:

ok single line: '244'

Test #66:

score: 0
Accepted
time: 48ms
memory: 84928kb

input:

500 500
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/...

output:

2

result:

ok single line: '2'

Test #67:

score: 0
Accepted
time: 16ms
memory: 24096kb

input:

500 500
./\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/...

output:

239

result:

ok single line: '239'

Test #68:

score: 0
Accepted
time: 17ms
memory: 24440kb

input:

500 500
./\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/...

output:

228

result:

ok single line: '228'

Test #69:

score: 0
Accepted
time: 22ms
memory: 24200kb

input:

500 500
./\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/...

output:

240

result:

ok single line: '240'

Test #70:

score: 0
Accepted
time: 307ms
memory: 66520kb

input:

500 500
HHHHVVVVVHHHVHVHHHVHHHHHVVVHVHVHHHVVHHVHHHHHVHHHVVVVVHVVVVVVVVVVVHHVVVVHVVVVVHVHHVVHVHHVHHHVVHVHHHVHHHVVVVVVVVHHVVVVVVVHHVVHHHHHHHHVVVVVVVVVHHHVVVHVVHVHVVVVHHVHVHHVVVHHHVVHHHVHVHVHHHHVHVHVHHVVVVHHHVVHHHVHHHHVHHVVHVHVHVHVVVHHVHHHVVVVVVVHHVVHVVVHVHVHH/\HHHHVHVVHVHHHVHVVHHHHHHVVHHHVHHHVVVVHHVHV...

output:

-1

result:

ok single line: '-1'

Test #71:

score: 0
Accepted
time: 200ms
memory: 46276kb

input:

500 500
VVHV/\VVVHVVHH/\HHHVVVHV/\VHHVVHHH/\HVVVVVHH/\HVHHVVVV/\HVVHVHVV/\VVVHHHVV/\HVVHHVHV/\VHHHHHHH/\VVVVHHHH/\HHHHHVVV/\VHVVVHHH/\VHVHHHVV/\VVHHVVVV/\VHVHVVHV/\HHHVVVVH/\HHVVVVVH/\VVVVVVVH/\VVHHHVVH/\VHVHHHHH/\HVHHVVHH/\VHVVHHHH/\HVHVHHHV/\HVHHVVHV/\VHVVVVVV/\VVHVHVHV/\VVHHVHVH/\VHHHVHHH/\HHVHHV...

output:

-1

result:

ok single line: '-1'

Test #72:

score: 0
Accepted
time: 13ms
memory: 23252kb

input:

500 500
.......................................................................................................................................................................................................................................................................................................

output:

161

result:

ok single line: '161'

Test #73:

score: 0
Accepted
time: 16ms
memory: 23328kb

input:

500 500
.......................................................................................................................................................................................................................................................................................................

output:

-1

result:

ok single line: '-1'