CSES - Putka Open 2020 – 1/5 - Results
Submission details
Task:Ruudukko
Sender:johku90
Submission time:2020-09-06 21:10:12 +0300
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3details
#20.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
#8--2, 3details
#9--2, 3details
#10--2, 3details
#11--2, 3details
#12--2, 3details
#13ACCEPTED0.03 s3details
#14--3details
#15--3details
#16--3details
#17--3details
#18--3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:46:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j=0; j<s.size(); j++){
                ~^~~~~~~~~

Code

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

int index(int i, int j, int n){
	return j * n + i;
}

void reitti(int x, int y, int n, int kolikot, char* map, unordered_set<int>& results, bool* rahaaX, bool* rahaaY){
	int uudetKolikot = kolikot;
	int ind = index(x, y, n);
	if(map[ind] == 'o'){
		uudetKolikot++;
	}
	
	if(x == n - 1 && y == n - 1){
		results.insert(uudetKolikot);
	}
	
	bool liikkui = false;
	if(x < n - 1 && (rahaaX[y] || y >= n - 1)) {
		liikkui = true;
		reitti(x + 1, y, n, uudetKolikot, map, results, rahaaX, rahaaY);
	}
	if(y < n - 1 && (rahaaY[x] || x >= n - 1 || !liikkui)) {
		reitti(x, y + 1, n, uudetKolikot, map, results, rahaaX, rahaaY);
	}
}


int main() {
	int n;
	cin >> n;
	
	unordered_set<int> results;
	bool* rahaaX = new bool[n];
	bool* rahaaY = new bool[n];
	
	char* map = new char[n * n];
	for(int i=0; i<n; i++){
		string s;
		cin >> s;
		/*for(int l=0; l<n; l++){
			if(rand() % 100 > 98) s += 'o';
			else s += '.';
		}*/
		for(int j=0; j<s.size(); j++){
			int ind = index(j, i, n);
			map[ind] = s[j];
			if(s[j]=='o'){
				rahaaX[i] = true;
				rahaaY[j] = true;
			}
		}
	}
	
	/*for(int i=0; i<n; i++){
		for(int j=0; j<n; j++) cout<<map[index(i, j, n)]<<" ";
		cout<<endl;
	}*/
	
	reitti(0, 0, n, 0, map, results, rahaaX, rahaaY);
	
	cout<<results.size();
	
	delete map;
	delete rahaaX;
	delete rahaaY;
}

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
8

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:

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

correct output
114

user output
(empty)

Test 9

Group: 2, 3

Verdict:

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

correct output
151

user output
(empty)

Test 10

Group: 2, 3

Verdict:

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

correct output
143

user output
(empty)

Test 11

Group: 2, 3

Verdict:

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

correct output
115

user output
(empty)

Test 12

Group: 2, 3

Verdict:

input
100
oooooooooooooooooooooooooooooo...

correct output
1

user output
(empty)

Test 13

Group: 3

Verdict: ACCEPTED

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

correct output
1

user output
1

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)