CSES - Datatähti 2016 alku - Results
Submission details
Task:Tontti
Sender:retki5
Submission time:2015-10-01 22:08:44 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.06 s1details
#2ACCEPTED0.06 s1details
#30.05 s1details
#40.05 s1details
#50.05 s1details
#60.12 s2details
#70.11 s2details
#80.13 s2details
#90.13 s2details
#100.11 s2details
#110.11 s3details
#120.11 s3details
#130.12 s3details
#140.12 s3details
#150.10 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:45:9: warning: unused variable 'q' [-Wunused-variable]
     int q = 0, w = 0, e = 0, r = 0;
         ^
input/code.cpp:45:16: warning: unused variable 'w' [-Wunused-variable]
     int q = 0, w = 0, e = 0, r = 0;
                ^
input/code.cpp:45:23: warning: unused variable 'e' [-Wunused-variable]
     int q = 0, w = 0, e = 0, r = 0;
                       ^
input/code.cpp:45:30: warning: unused variable 'r' [-Wunused-variable]
     int q = 0, w = 0, e = 0, r = 0;
                              ^

Code

#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
int main() {
	int y, x, vvv;
	std::cin >> y >> x >> vvv;
	char ** fr;
	int ** rows;
	int *** tr;
	int max = std::min(x, y);
	tr = new int**[max + 1];
	for (int i = 2; i < max + 1; i++) {
		tr[i] = new int*[y];
		for (int a = 0; a < y; a++) {
			tr[i][a] = new int[x];
		}
	}
	fr = new char*[y];
	rows = new int*[y];
	for (int i = 0; i < y; i++) {
		fr[i] = new char[x];
		rows[i] = new int[x];
		std::cin >> fr[i];
	}
	for (int i = 0; i < y; i++) {
		for (int a = 0; a < x; a++) {
			//tr[2][i][a] =1 ;
			if (i == 0 || a == 0) {
				if (fr[i][a] == '*') tr[2][i][a] = 1;
				else tr[2][i][a] = 0;
				continue;
			}
			int q = 0, w = 0, e = 0, r = 0;
			if (fr[i - 1][a - 1] == '*') q = 1;
			if (fr[i - 1][a] == '*') w = 1;
			if (fr[i][a - 1] == '*') e = 1;
			if (fr[i][a] == '*') r = 1;
			tr[2][i][a] = q + w + e + r;
		}
	}
	for (int s = 3; s <= max; s++) {
		for (int i = s - 1; i < y; i++) {
			for (int a = s - 1; a < x; a++) {
				int q = 0, w = 0, e = 0, r = 0;
				//std::cout << s << ", " << i << ", " << a << std::endl;
				//tr[s][i][a] = 0;
				if (fr[i][a] == '*') tr[s][i][a]++;
				tr[s][i][a] = tr[s - 1][i - 1][a - 1];
				for (int c = 1; c < s; c++) {
					if (fr[i][a - c] == '*') tr[s][i][a]++;
				}
				for (int c = 1; c < s; c++) {
					if (fr[i - c][a] == '*') tr[s][i][a]++;
				}
			}
		}
	}
	int ans = 0;
	for (int s = 2; s <= max; s++) {
		for (int i = 0; i < y; i++) {
			for (int a = 0; a < x; a++) {
				//std::cout << tr[s][i][a] << " ";
				if (tr[s][i][a] == vvv) ans++;
			}
			//std::cout << std::endl;
		}
	}
	std::cout << ans << "\n";
	return 0;
}

Test details

Test 1

Group: 1

Verdict:

input
10 10 1
......*...
.......*..
*..*....*.
*....*....
...

correct output
94

user output
93

Test 2

Group: 1

Verdict: ACCEPTED

input
10 10 5
**********
**********
**********
**********
...

correct output
0

user output
0

Test 3

Group: 1

Verdict:

input
10 10 10
**...*...*
*..*.**.*.
...**.*..*
*...**.*..
...

correct output
4

user output
8

Test 4

Group: 1

Verdict:

input
10 10 5
****......
*.*.**..**
....*.*..*
...*.***..
...

correct output
16

user output
20

Test 5

Group: 1

Verdict:

input
10 10 2
**.***..*.
...*.*....
.***.*...*
***.***..*
...

correct output
30

user output
31

Test 6

Group: 2

Verdict:

input
500 500 1
.................................

correct output
9552040

user output
(empty)

Test 7

Group: 2

Verdict:

input
500 500 5
.................................

correct output
1536063

user output
(empty)

Test 8

Group: 2

Verdict:

input
500 500 25000
**...*...**..*.*..*.**.*..*.*....

correct output
288

user output
(empty)

Test 9

Group: 2

Verdict:

input
500 500 12500
**.**.*..*...*.**...*.***........

correct output
786

user output
(empty)

Test 10

Group: 2

Verdict:

input
500 500 5000
.*.*.**..*.*.**.**..*..**...*....

correct output
1763

user output
(empty)

Test 11

Group: 3

Verdict:

input
2000 2000 1
.................................

correct output
489611392

user output
(empty)

Test 12

Group: 3

Verdict:

input
2000 2000 5
.................................

correct output
120725884

user output
(empty)

Test 13

Group: 3

Verdict:

input
2000 2000 400000
..*..**.**.**.*.***...**.*..**...

correct output
1849

user output
(empty)

Test 14

Group: 3

Verdict:

input
2000 2000 200000
***.*....*.*..*....**..*..*.*....

correct output
2665

user output
(empty)

Test 15

Group: 3

Verdict:

input
2000 2000 80000
**.**...*.***.**....**.*....*....

correct output
5587

user output
(empty)