QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#409452#3172. Tomb RaiderMassachusetts Institute of Terriers (Yi Du, Mutiraj Laksanawisit)#AC ✓39ms23092kbC++209.5kb2024-05-12 06:57:192024-05-12 06:57:21

Judging History

This is the latest submission verdict.

  • [2024-05-12 06:57:21]
  • Judged
  • Verdict: AC
  • Time: 39ms
  • Memory: 23092kb
  • [2024-05-12 06:57:19]
  • Submitted

answer

#include <bits/stdc++.h>
#define ll long long
#define pb push_back

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);

	int n, m;
	cin >> n >> m;

	vector<string> S(n);
	for(int i=0; i<n; i++) cin >> S[i];

	vector<vector<pair<int, int>>> adj(n*m);
	vector<bool> canV(n*m, true), canH(n*m, true);
	for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            if(S[i][j] == 'V' || S[i][j] == 'H')
            {
                //0 -> U, 1 -> R, 2 -> D, 3 -> L
                for(int d = 0; d < 4; d++)
                {
                    int curi = i, curj = j, dir = d;
                    bool cont = true;

                    while(cont)
                    {
                        switch(dir)
                        {
                            case 0:
                                if(curi - 1 >= 0)
                                {
                                    curi--;
                                    if(S[curi][curj] == '#')
                                    {
                                        if(d%2==0) canV[i*m+j] = false;
                                        else canH[i*m+j] = false;

                                        cont = false;
                                    }
                                    else if(S[curi][curj] == '/') dir = 1;
                                    else if(S[curi][curj] == '\\') dir = 3;
                                    else if(S[curi][curj] == 'V' || S[curi][curj] == 'H')
                                    {
                                        adj[i*m+j].pb({curi*m+curj, (d + dir) % 2});
                                        cont = false;
                                    }
                                }
                                else
                                {
                                    if(S[curi][curj] == 'V' || S[curi][curj] == 'H')
                                    {
                                        adj[i*m+j].pb({curi*m+curj, (d + dir) % 2});
                                        cont = false;
                                    }
                                    else if(S[curi][curj] == '/') dir = 3;
                                    else if(S[curi][curj] == '\\') dir = 1;
                                    else dir = 2;
                                }
                            break;

                            case 1:
                                if(curj + 1 < m)
                                {
                                    curj++;
                                    if(S[curi][curj] == '#')
                                    {
                                        if(d%2==0) canV[i*m+j] = false;
                                        else canH[i*m+j] = false;

                                        cont = false;
                                    }
                                    else if(S[curi][curj] == '/') dir = 0;
                                    else if(S[curi][curj] == '\\') dir = 2;
                                    else if(S[curi][curj] == 'V' || S[curi][curj] == 'H')
                                    {
                                        adj[i*m+j].pb({curi*m+curj, (d + dir) % 2});
                                        cont = false;
                                    }
                                }
                                else
                                {
                                    if(S[curi][curj] == 'V' || S[curi][curj] == 'H')
                                    {
                                        adj[i*m+j].pb({curi*m+curj, (d + dir) % 2});
                                        cont = false;
                                    }
                                    else if(S[curi][curj] == '/') dir = 2;
                                    else if(S[curi][curj] == '\\') dir = 0;
                                    else dir = 3;
                                }
                            break;

                            case 2:
                                if(curi + 1 < n)
                                {
                                    curi++;
                                    if(S[curi][curj] == '#')
                                    {
                                        if(d%2==0) canV[i*m+j] = false;
                                        else canH[i*m+j] = false;

                                        cont = false;
                                    }
                                    else if(S[curi][curj] == '/') dir = 3;
                                    else if(S[curi][curj] == '\\') dir = 1;
                                    else if(S[curi][curj] == 'V' || S[curi][curj] == 'H')
                                    {
                                        adj[i*m+j].pb({curi*m+curj, (d + dir) % 2});
                                        cont = false;
                                    }
                                }
                                else
                                {
                                    if(S[curi][curj] == 'V' || S[curi][curj] == 'H')
                                    {
                                        adj[i*m+j].pb({curi*m+curj, (d + dir) % 2});
                                        cont = false;
                                    }
                                    else if(S[curi][curj] == '/') dir = 1;
                                    else if(S[curi][curj] == '\\') dir = 3;
                                    else dir = 0;
                                }
                            break;

                            case 3:
                                if(curj - 1 >= 0)
                                {
                                    curj--;
                                    if(S[curi][curj] == '#')
                                    {
                                        if(d%2==0) canV[i*m+j] = false;
                                        else canH[i*m+j] = false;

                                        cont = false;
                                    }
                                    else if(S[curi][curj] == '/') dir = 2;
                                    else if(S[curi][curj] == '\\') dir = 0;
                                    else if(S[curi][curj] == 'V' || S[curi][curj] == 'H')
                                    {
                                        adj[i*m+j].pb({curi*m+curj, (d + dir) % 2});
                                        cont = false;
                                    }
                                }
                                else
                                {
                                    if(S[curi][curj] == 'V' || S[curi][curj] == 'H')
                                    {
                                        adj[i*m+j].pb({curi*m+curj, (d + dir) % 2});
                                        cont = false;
                                    }
                                    else if(S[curi][curj] == '/') dir = 0;
                                    else if(S[curi][curj] == '\\') dir = 2;
                                    else dir = 1;
                                }
                            break;
                        }
                    }
                }
            }
        }
    }

    /*for(vector<pair<int, int>> vp: adj)
    {
        for(pair<int, int> p: vp)
        {
            cout << "(" << p.first << ", " << p.second << ") ";
        }
        cout << "\n";
    }*/

    bool valid = true;
    int ans = 0;
    vector<int> c(n*m, -1);
    for(int i=0; i<n*m; i++)
    {
        if(c[i]==-1 && (S[i/m][i%m] == 'V' || S[i/m][i%m] == 'H'))
        {
            c[i] = 0;
            vector<int> cc;
            queue<int> Q;
            Q.push(i);

            while(valid && !Q.empty())
            {
                int p = Q.front();
                cc.pb(p);
                Q.pop();

                for(pair<int, int> x: adj[p])
                {
                    int v = x.first, d = x.second;

                    if(c[v]==-1)
                    {
                        c[v] = (c[p] + d) % 2;
                        Q.push(v);
                    }
                    else if(c[v] != (c[p] + d) % 2)
                    {
                        valid = false;
                    }
                }
            }

            if(!valid) break;

            bool H = true, V = true;
            int cH = 0, cV = 0;
            for(int x: cc)
            {
                if(c[x] == 0)
                {
                    if(canH[x]) cH += S[x/m][x%m] == 'V';
                    else H = false;

                    if(canV[x]) cV += S[x/m][x%m] == 'H';
                    else V = false;
                }
                else
                {
                    if(canV[x]) cH += S[x/m][x%m] == 'H';
                    else H = false;

                    if(canH[x]) cV += S[x/m][x%m] == 'V';
                    else V = false;
                }
            }

            //cout << i << " : " << H << " -> " << cH << " " << V << " -> " << cV << "\n";

            if(!H && !V) valid = false;
            else if(H && V) ans += min(cH, cV);
            else if(H) ans += cH;
            else ans += cV;
        }
    }

    if(valid) cout << ans;
    else cout << -1;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3560kb

input:

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

output:

3

result:

ok single line: '3'

Test #2:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #3:

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

input:

2 2
VV
VV

output:

0

result:

ok single line: '0'

Test #4:

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

input:

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

output:

1

result:

ok single line: '1'

Test #5:

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

input:

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

output:

1

result:

ok single line: '1'

Test #6:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #7:

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

input:

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

output:

3

result:

ok single line: '3'

Test #8:

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

input:

2 2
#H
V#

output:

-1

result:

ok single line: '-1'

Test #9:

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

input:

2 2
V.
\#

output:

1

result:

ok single line: '1'

Test #10:

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

input:

2 2
V#
\#

output:

-1

result:

ok single line: '-1'

Test #11:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #12:

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

input:

2 2
/#
H/

output:

-1

result:

ok single line: '-1'

Test #13:

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

input:

1 1
H

output:

0

result:

ok single line: '0'

Test #14:

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

input:

2 1
V
#

output:

1

result:

ok single line: '1'

Test #15:

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

input:

1 2
#H

output:

1

result:

ok single line: '1'

Test #16:

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

input:

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

output:

4

result:

ok single line: '4'

Test #17:

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

input:

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

output:

1

result:

ok single line: '1'

Test #18:

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

input:

3 3
/\#
\.\
#\H

output:

-1

result:

ok single line: '-1'

Test #19:

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

input:

3 3
/\#
\V\
#\/

output:

-1

result:

ok single line: '-1'

Test #20:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #21:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #22:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #23:

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

input:

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

output:

2

result:

ok single line: '2'

Test #24:

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

input:

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

output:

4

result:

ok single line: '4'

Test #25:

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

input:

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

output:

4

result:

ok single line: '4'

Test #26:

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

input:

3 2
V\
V.
\/

output:

-1

result:

ok single line: '-1'

Test #27:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #28:

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

input:

3 2
V#
..
VV

output:

-1

result:

ok single line: '-1'

Test #29:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #30:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #31:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #32:

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

input:

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

output:

2

result:

ok single line: '2'

Test #33:

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

input:

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

output:

1

result:

ok single line: '1'

Test #34:

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

input:

2 4
/V\\
\\.V

output:

1

result:

ok single line: '1'

Test #35:

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

input:

2 3
/V\
\.V

output:

-1

result:

ok single line: '-1'

Test #36:

score: 0
Accepted
time: 8ms
memory: 10996kb

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: 0ms
memory: 10144kb

input:

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

output:

297

result:

ok single line: '297'

Test #38:

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

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: 31ms
memory: 23092kb

input:

500 500
V/HHVHHHVVVVVHVVVVHVVHHVVHVHVVHVHHHHHVHHVVHHVHVHHVVVHVVVVHHVHHHVVHHHVHVVVHHVVHHHHHVVVHVHVHVVHVHVVVVVVVVHVVVVVVVVHHHVVVVHVHHVHVVHHHHVHVHVHHVHVVHHVHHVVVVHVVVHHHHHVVHVVHVVHVHVVVHHVHHHVHHVHVVVHVVHVVHHVVVVHVVHVHHVVHHHHHVVVHVVVVVVHVVVVHHHHVVHVVVHHHHHVHVVHHHHHVVHVVVHHHVHVVVVHVVVHVHHVVHVHHVHHVHVVVHV...

output:

124323

result:

ok single line: '124323'

Test #40:

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

input:

377 497
V/HVVHHHVVVVVHHVVVHHHHVHVHHHVVVVHVVVHVHHHVHHHHVHVHVVVHHVHHVHHHVHVHVHVHHHHHVVHVVVVHVVHHHVVHVHHVVHVHVHVVHVVVVHVHVHVVHVHHVVHVHVHVHVVHVVHVVVHHHHHHHVVHHVVHVVVHVVVVHHVVHVVHHVVVVHVHHVHHVVHVVVHHVHVHHVHHHVVVVVHVHVHVVVHHHHHHHHVVVHHVVVHHVHHHVHHHVVHHVVHHVVHVHVHVVVVHVHHVHVVHHVHHVVHVHHHVVHHVHVVVHVHVVHHHHH...

output:

93082

result:

ok single line: '93082'

Test #41:

score: 0
Accepted
time: 30ms
memory: 23028kb

input:

500 500
HHHHVVVHHHHHVHHVHVHHVVHVVHVHHHHHHVVVVVVVVVVHVHVVHHVVVVHHVVHVVVVVHVHVVHHVHVHVVHHHHVHHVVHHHVHVVVHHVHVVHVVVVVHHHHHHVHHHVVHVVVHVHHHVHHVVHVHVVHVHVVVVHVHVHVHVHHHHVVVVVVVVVVHVVHHHHHHHHHHHVHHVHHHVVVVVHHHVHVVHHVVVVHVVHVVVVVVVVVHHVVHVVHHHHHHVHVVHHHHHVHHHHVHHVVVVHHHHVVHVVHHHVVHVVHVHHHVVVVVVVVHHVVVVHVHV...

output:

124838

result:

ok single line: '124838'

Test #42:

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

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: 0ms
memory: 10736kb

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: 7ms
memory: 10468kb

input:

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

output:

1178

result:

ok single line: '1178'

Test #45:

score: 0
Accepted
time: 6ms
memory: 10528kb

input:

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

output:

307

result:

ok single line: '307'

Test #46:

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

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: 6ms
memory: 10392kb

input:

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

output:

1202

result:

ok single line: '1202'

Test #48:

score: 0
Accepted
time: 6ms
memory: 10220kb

input:

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

output:

282

result:

ok single line: '282'

Test #49:

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

input:

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

output:

29350

result:

ok single line: '29350'

Test #50:

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

input:

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

output:

734

result:

ok single line: '734'

Test #51:

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

input:

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

output:

288

result:

ok single line: '288'

Test #52:

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

input:

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

output:

62231

result:

ok single line: '62231'

Test #53:

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

input:

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

output:

41225

result:

ok single line: '41225'

Test #54:

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

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: 22ms
memory: 16736kb

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: 18ms
memory: 16740kb

input:

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

output:

62448

result:

ok single line: '62448'

Test #57:

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

input:

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

output:

498

result:

ok single line: '498'

Test #58:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #59:

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

input:

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

output:

12462

result:

ok single line: '12462'

Test #60:

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

input:

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

output:

-1

result:

ok single line: '-1'

Test #61:

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

input:

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

output:

241

result:

ok single line: '241'

Test #62:

score: 0
Accepted
time: 5ms
memory: 10436kb

input:

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

output:

-1

result:

ok single line: '-1'

Test #63:

score: 0
Accepted
time: 5ms
memory: 10100kb

input:

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

output:

0

result:

ok single line: '0'

Test #64:

score: 0
Accepted
time: 5ms
memory: 10224kb

input:

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

output:

-1

result:

ok single line: '-1'

Test #65:

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

input:

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

output:

244

result:

ok single line: '244'

Test #66:

score: 0
Accepted
time: 6ms
memory: 10100kb

input:

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

output:

2

result:

ok single line: '2'

Test #67:

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

input:

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

output:

239

result:

ok single line: '239'

Test #68:

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

input:

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

output:

228

result:

ok single line: '228'

Test #69:

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

input:

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

output:

240

result:

ok single line: '240'

Test #70:

score: 0
Accepted
time: 29ms
memory: 22416kb

input:

500 500
HHHHVVVVVHHHVHVHHHVHHHHHVVVHVHVHHHVVHHVHHHHHVHHHVVVVVHVVVVVVVVVVVHHVVVVHVVVVVHVHHVVHVHHVHHHVVHVHHHVHHHVVVVVVVVHHVVVVVVVHHVVHHHHHHHHVVVVVVVVVHHHVVVHVVHVHVVVVHHVHVHHVVVHHHVVHHHVHVHVHHHHVHVHVHHVVVVHHHVVHHHVHHHHVHHVVHVHVHVHVVVHHVHHHVVVVVVVHHVVHVVVHVHVHH/\HHHHVHVVHVHHHVHVVHHHHHHVVHHHVHHHVVVVHHVHV...

output:

-1

result:

ok single line: '-1'

Test #71:

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

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: 5ms
memory: 10200kb

input:

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

output:

161

result:

ok single line: '161'

Test #73:

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

input:

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

output:

-1

result:

ok single line: '-1'