CSES - Putka Open 2020 – 1/5 - Results
Submission details
Task:Ruudukko
Sender:Mahtimursu
Submission time:2020-09-04 18:29:32 +0300
Language:C++11
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED16
#2ACCEPTED30
#3ACCEPTED54
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3details
#2ACCEPTED0.01 s1, 2, 3details
#3ACCEPTED0.01 s1, 2, 3details
#4ACCEPTED0.01 s1, 2, 3details
#5ACCEPTED0.01 s1, 2, 3details
#6ACCEPTED0.01 s1, 2, 3details
#7ACCEPTED0.01 s2, 3details
#8ACCEPTED0.01 s2, 3details
#9ACCEPTED0.01 s2, 3details
#10ACCEPTED0.01 s2, 3details
#11ACCEPTED0.01 s2, 3details
#12ACCEPTED0.01 s2, 3details
#13ACCEPTED0.02 s3details
#14ACCEPTED0.02 s3details
#15ACCEPTED0.02 s3details
#16ACCEPTED0.02 s3details
#17ACCEPTED0.02 s3details
#18ACCEPTED0.02 s3details

Code

#include <bits/stdc++.h>

typedef long long ll;

#define M 1000000007

using namespace std;

string t[1001];
int n;
int mx[1001][1001];
int lx[1001][1001];

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	
	cin >> n;
	n--;
	for (int i = 0; i <= n; ++i) {
		cin >> t[i];
	}
	if (t[0][0] == 'o') {
		lx[0][0] = 1;
		mx[0][0] = 1;
	}
	for (int x = 0; x <= n; ++x) {
		for (int y = 0; y <= n; ++y) {
			if (x == 0 && y == 0) {
				continue;
			}
			if (x == 0) {
				lx[x][y] = lx[x][y-1];
				mx[x][y] = mx[x][y-1];
				if (t[x][y] == 'o') {
					lx[x][y]++;
					mx[x][y]++;
				}
			}
			else if (y == 0) {
				lx[x][y] = lx[x - 1][y];
				mx[x][y] = mx[x - 1][y];
				if (t[x][y] == 'o') {
					lx[x][y]++;
					mx[x][y]++;
				}
			}
			else {
				lx[x][y] = min(lx[x - 1][y], lx[x][y - 1]);
				mx[x][y] = max(mx[x - 1][y], mx[x][y - 1]);
				if (t[x][y] == 'o') {
					lx[x][y]++;
					mx[x][y]++;
				}
			}
		}
	}
	
	
	//src(0, 0);
	cout << mx[n][n] - lx[n][n] + 1 << endl;

	return 0;
}

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
10
..........
..........
..........
..........
...

correct output
1

user output
1

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
10
o.o.......
..........
.o...o.oo.
..o...o.oo
...

correct output
9

user output
9

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
10
o......o..
oo.oo.....
oooo....oo
o.......oo
...

correct output
14

user output
14

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
10
..ooooo.oo
.ooo.o..oo
.....ooo.o
ooo.ooo.oo
...

correct output
12

user output
12

Test 5

Group: 1, 2, 3

Verdict: ACCEPTED

input
10
oooooooooo
ooo....ooo
.oo.oo.ooo
oooooooooo
...

correct output
10

user output
10

Test 6

Group: 1, 2, 3

Verdict: ACCEPTED

input
10
oooooooooo
oooooooooo
oooooooooo
oooooooooo
...

correct output
1

user output
1

Test 7

Group: 2, 3

Verdict: ACCEPTED

input
100
.................................

correct output
1

user output
1

Test 8

Group: 2, 3

Verdict: ACCEPTED

input
100
.........o.....o.........o..o....

correct output
114

user output
114

Test 9

Group: 2, 3

Verdict: ACCEPTED

input
100
oo..oo.oo..o...o..o.o..o.........

correct output
151

user output
151

Test 10

Group: 2, 3

Verdict: ACCEPTED

input
100
o..o.ooo..oo.o.o.o..o.o..o..oo...

correct output
143

user output
143

Test 11

Group: 2, 3

Verdict: ACCEPTED

input
100
oo..oooooooooooo.oooo.o.o.oooo...

correct output
115

user output
115

Test 12

Group: 2, 3

Verdict: ACCEPTED

input
100
oooooooooooooooooooooooooooooo...

correct output
1

user output
1

Test 13

Group: 3

Verdict: ACCEPTED

input
1000
.................................

correct output
1

user output
1

Test 14

Group: 3

Verdict: ACCEPTED

input
1000
o..........o...o...o...o.........

correct output
1121

user output
1121

Test 15

Group: 3

Verdict: ACCEPTED

input
1000
.o.............o....o.o......o...

correct output
1583

user output
1583

Test 16

Group: 3

Verdict: ACCEPTED

input
1000
oooooo.oooooo.....oooo..o...o....

correct output
1574

user output
1574

Test 17

Group: 3

Verdict: ACCEPTED

input
1000
ooooo.oo.oooooooooo...o...oo.....

correct output
1147

user output
1147

Test 18

Group: 3

Verdict: ACCEPTED

input
1000
oooooooooooooooooooooooooooooo...

correct output
1

user output
1