Submission details
Task:Robotti
Sender:Lytsky
Submission time:2026-01-17 13:26:01 +0200
Language:C++ (C++11)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.01 sdetails

Code

#include <bits/stdc++.h>

using namespace std;

int main() {
	int n;
	string row;
	vector<string> grid;
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> row;
		grid.push_back(row);
	}
	int c = 0, x = 0, y = 0, suunta = 0;
	map<int, int> slash = { {1, 2}, {0, 3}, {2, 1}, {3, 0} };
	map<int, int> bslash = { {1, 0}, {0, 1}, {2, 3}, {3, 2} };

	while (x >= 0 && y >= 0 && x < n && y < n) {
		if (grid[y][x] == '/') {
			suunta = slash[suunta];
			grid[y][x] = '\\';
		}
		else if (grid[y][x] == '\\') {
			suunta = bslash[suunta];
			grid[y][x] = '/';
		}
		if (suunta == 0) y++; 
		else if (suunta == 1) x++; 
		else if (suunta == 2) y--; 
		else if (suunta == 3) x--; 
		c++;
	}
	cout << c << endl; 
}

Test details

Test 1 (public)

Verdict: ACCEPTED

input
3
./\
\./
\/.

correct output
13

user output
13

Test 2

Verdict: ACCEPTED

input
1
.

correct output
1

user output
1

Test 3

Verdict: ACCEPTED

input
5
./\/\
.....
.....
.....
...

correct output
25

user output
25

Test 4

Verdict: ACCEPTED

input
5
\\/\\
/\/\/
\\/\\
/\/\/
...

correct output
37

user output
37

Test 5

Verdict: ACCEPTED

input
20
\\/\/\/\\./\\.\/\/\.
/\\\\\\/\\\\\\\\\\\.
\\\\\\\\\\\\\\\\\\\\
/\\\\\\\\\\\\\.\\\\\
...

correct output
2519

user output
2519

Test 6

Verdict: ACCEPTED

input
20
\\..................
.\\..............\\.
..\\............\\..
...\\..........\\...
...

correct output
917489

user output
917489