CSES - Putka Open 2020 – 1/5 - Results
Submission details
Task:Ruudukko
Sender:AtskaFin
Submission time:2020-09-06 19:25:03 +0300
Language:Node.js
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.44 s1, 2, 3details
#2ACCEPTED0.44 s1, 2, 3details
#3ACCEPTED0.44 s1, 2, 3details
#40.44 s1, 2, 3details
#50.44 s1, 2, 3details
#60.44 s1, 2, 3details
#7ACCEPTED0.44 s2, 3details
#8ACCEPTED0.44 s2, 3details
#90.44 s2, 3details
#100.44 s2, 3details
#110.44 s2, 3details
#120.44 s2, 3details
#13ACCEPTED0.49 s3details
#14ACCEPTED0.51 s3details
#150.51 s3details
#160.51 s3details
#170.50 s3details
#180.50 s3details

Code

const rl = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});

let n; 
let arr;
let c = 0;

rl.on('line', line => {
  if (!n) {
    n = Number(line);
    arr = new Array(n);
    return;
  }

  arr[c] = line.split('');
  if (++c === n) rl.close();
});

rl.on('close', () => {
  arr[0][0] = '.';
  arr[n-1][n-1] = '.';
  let sumArr = new Array(n);
  for (let i = 0; i < n; i++) sumArr[i] = new Array(n).fill(0);

  let yc = 0;
  for (let i = 0; i < n; i++) {
    if (arr[0][i] === 'o') yc++;
    sumArr[0][i] = yc;
  }

  let vrc = 0;
  for (let i = 0; i < n; i++) {
    if (arr[i][0] === 'o') vrc++;
    sumArr[i][0] = vrc;
  }

  for (let i = 1; i < n; i++) {
    for (let j = 1; j < n; j++) {
      sumArr[i][j] = Math.max(sumArr[i-1][j], sumArr[i][j-1]);
      if (arr[i][j] === 'o') sumArr[i][j]++;
    }
  }

  console.log(sumArr[n-1][n-1]+1);
});

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:

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

correct output
12

user output
17

Test 5

Group: 1, 2, 3

Verdict:

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

correct output
10

user output
18

Test 6

Group: 1, 2, 3

Verdict:

input
10
oooooooooo
oooooooooo
oooooooooo
oooooooooo
...

correct output
1

user output
18

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:

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

correct output
151

user output
160

Test 10

Group: 2, 3

Verdict:

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

correct output
143

user output
185

Test 11

Group: 2, 3

Verdict:

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

correct output
115

user output
198

Test 12

Group: 2, 3

Verdict:

input
100
oooooooooooooooooooooooooooooo...

correct output
1

user output
198

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:

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

correct output
1583

user output
1655

Test 16

Group: 3

Verdict:

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

correct output
1574

user output
1940

Test 17

Group: 3

Verdict:

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

correct output
1147

user output
1998

Test 18

Group: 3

Verdict:

input
1000
oooooooooooooooooooooooooooooo...

correct output
1

user output
1998