CSES - Putka Open 2020 – 1/5 - Results
Submission details
Task:Ruudukko
Sender:JiK
Submission time:2020-09-05 00:37:29 +0300
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3details
#20.01 s1, 2, 3details
#30.01 s1, 2, 3details
#40.01 s1, 2, 3details
#50.01 s1, 2, 3details
#60.01 s1, 2, 3details
#7ACCEPTED0.01 s2, 3details
#8ACCEPTED0.01 s2, 3details
#90.01 s2, 3details
#100.01 s2, 3details
#110.01 s2, 3details
#120.01 s2, 3details
#13--3details
#14--3details
#15--3details
#16--3details
#17--3details
#18--3details

Code

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

int main() {
 int n;
 cin >> n;
 int m = 2*n;
 vector<string> t(n);
 for (int i=0; i<n; ++i) { cin >> t[i]; }


 vector<vector<int> > dp[2];

  dp[0] = vector<vector<int> > (n, vector<int>(m, 0));
  dp[1] = vector<vector<int> > (n, vector<int>(m, 0));
  dp[1][0][t[0][0]=='o'] = true;

 for (int i=0; i<n; ++i) {
  for (int j=0; j<n; ++j) {
    int d = (t[i][j]=='o');
    for (int k=d; k<=i+j+1; ++k) {
       dp[1][j][k] |=  (dp[0][j][k-d]) || ((j>0) && dp[1][j-1][k-d]);
//       cout << "Sq " << i << " " << j << " num " << k << " = " << dp[1][j][k] << "\n";
    }
  }
  swap(dp[0], dp[1]);
  
 }

 int res = 0;
 for(int k=0; k<m; ++k) {
  res += dp[0][n-1][k];
 }

 cout << res << endl;

}

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:

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

correct output
9

user output
10

Test 3

Group: 1, 2, 3

Verdict:

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

correct output
14

user output
15

Test 4

Group: 1, 2, 3

Verdict:

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

correct output
12

user output
15

Test 5

Group: 1, 2, 3

Verdict:

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

correct output
10

user output
16

Test 6

Group: 1, 2, 3

Verdict:

input
10
oooooooooo
oooooooooo
oooooooooo
oooooooooo
...

correct output
1

user output
5

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
161

Test 10

Group: 2, 3

Verdict:

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

correct output
143

user output
179

Test 11

Group: 2, 3

Verdict:

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

correct output
115

user output
170

Test 12

Group: 2, 3

Verdict:

input
100
oooooooooooooooooooooooooooooo...

correct output
1

user output
50

Test 13

Group: 3

Verdict:

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

correct output
1

user output
(empty)

Test 14

Group: 3

Verdict:

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

correct output
1121

user output
(empty)

Test 15

Group: 3

Verdict:

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

correct output
1583

user output
(empty)

Test 16

Group: 3

Verdict:

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

correct output
1574

user output
(empty)

Test 17

Group: 3

Verdict:

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

correct output
1147

user output
(empty)

Test 18

Group: 3

Verdict:

input
1000
oooooooooooooooooooooooooooooo...

correct output
1

user output
(empty)