| Task: | Tontti |
| Sender: | ollpu |
| Submission time: | 2015-10-11 23:45:25 +0300 |
| Language: | Python2 |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | RUNTIME ERROR | 0 |
| #2 | RUNTIME ERROR | 0 |
| #3 | RUNTIME ERROR | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | RUNTIME ERROR | 0.05 s | 1 | details |
| #2 | RUNTIME ERROR | 0.05 s | 1 | details |
| #3 | RUNTIME ERROR | 0.06 s | 1 | details |
| #4 | RUNTIME ERROR | 0.06 s | 1 | details |
| #5 | RUNTIME ERROR | 0.06 s | 1 | details |
| #6 | RUNTIME ERROR | 0.09 s | 2 | details |
| #7 | RUNTIME ERROR | 0.08 s | 2 | details |
| #8 | RUNTIME ERROR | 0.09 s | 2 | details |
| #9 | RUNTIME ERROR | 0.09 s | 2 | details |
| #10 | RUNTIME ERROR | 0.10 s | 2 | details |
| #11 | RUNTIME ERROR | 0.67 s | 3 | details |
| #12 | RUNTIME ERROR | 0.66 s | 3 | details |
| #13 | RUNTIME ERROR | 0.68 s | 3 | details |
| #14 | RUNTIME ERROR | 0.68 s | 3 | details |
| #15 | RUNTIME ERROR | 0.67 s | 3 | details |
Code
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Epätoivoinen viimeinen yritys
from sys import stdin
#Nope
def readline():
return stdin.readline().strip()
def get_vars():
global n, m, x
row1 = readline().split(' ')
n = int(row1[0]) # Korkeus
m = int(row1[1]) # Leveys
x = int(row1[2]) # Tavoite
get_vars()
def isqrt(n):
x = n
y = (x + 1) // 2
while y < x:
x = y
y = (x + n // x) // 2
return x
def is_star(char):
return char == '*'
def run():
metsa = []
for i in xrange(n):
metsa.append(map(is_star, readline()))
vaihtoehtoja = 0
def calculate_diagonal(dx, dy):
vaihtoehtoja = 0
end_finished = False
endblock = 0
start_corners = [0, 0]
if metsa[dx][dy]:
endblock += 1
start_corners[1] += 1
if dx+1 > n and metsa[dx+1][dy]:
start_corners[1] += 1
if dy+1 > m and metsa[dx][dy+1]:
start_corners[1] += 1
maxend = min(n-dx, m-dy)
for end in xrange(maxend):
startblock = endblock
if end < maxend-1:
for x1 in xrange(dx, dx+end+2):
if metsa[x1][dy+end+1]:
endblock += 1
for y1 in xrange(dy, dy+end+1):
if metsa[dx+end+1][y1]:
endblock += 1
for start in xrange(end+1):
if startblock == x:
vaihtoehtoja += 1
# elif startblock < x:
# break
if start < end:
print(start)
print(end)
print(start_corners)
startblock -= start_corners[start]
if metsa[dx+end+1][dy+start]:
start_corners[start] += 1
if metsa[dx+start][dy+end+1]:
start_corners[start] += 1
if start == end:
val = 0
if metsa[dx+end][dy+end]:
val += 1
if metsa[dx+end+1][dy+end]:
val += 1
if metsa[dx+end][dy+end+1]:
val += 1
start_conrers.append(val)
return vaihtoehtoja
# Calculate diagonals starting from the top (topleft corner included)
for y1 in xrange(m):
print('ydiag %d' % y1)
vaihtoehtoja += calculate_diagonal(0, y1)
# Calculate diagonals starting from the left
for x1 in xrange(1, n):
print('xdiag %d' % x1)
vaihtoehtoja += calculate_diagonal(x1, 0)
print(vaihtoehtoja)
# import profile
# profile.run('run()')
run()
Test details
Test 1
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 1 ......*... .......*.. *..*....*. *....*.... ... |
| correct output |
|---|
| 94 |
| user output |
|---|
| ydiag 0 0 1 [0, 0] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 2
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 5 ********** ********** ********** ********** ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| ydiag 0 0 1 [0, 1] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 3
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 10 **...*...* *..*.**.*. ...**.*..* *...**.*.. ... |
| correct output |
|---|
| 4 |
| user output |
|---|
| ydiag 0 0 1 [0, 1] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 4
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 5 ****...... *.*.**..** ....*.*..* ...*.***.. ... |
| correct output |
|---|
| 16 |
| user output |
|---|
| ydiag 0 0 1 [0, 1] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 5
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 2 **.***..*. ...*.*.... .***.*...* ***.***..* ... |
| correct output |
|---|
| 30 |
| user output |
|---|
| ydiag 0 0 1 [0, 1] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 6
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 500 500 1 ................................. |
| correct output |
|---|
| 9552040 |
| user output |
|---|
| ydiag 0 0 1 [0, 0] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 7
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 500 500 5 ................................. |
| correct output |
|---|
| 1536063 |
| user output |
|---|
| ydiag 0 0 1 [0, 0] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 8
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 500 500 25000 **...*...**..*.*..*.**.*..*.*.... |
| correct output |
|---|
| 288 |
| user output |
|---|
| ydiag 0 0 1 [0, 1] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 9
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 500 500 12500 **.**.*..*...*.**...*.***........ |
| correct output |
|---|
| 786 |
| user output |
|---|
| ydiag 0 0 1 [0, 1] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 10
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 500 500 5000 .*.*.**..*.*.**.**..*..**...*.... |
| correct output |
|---|
| 1763 |
| user output |
|---|
| ydiag 0 0 1 [0, 0] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 11
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 2000 2000 1 ................................. |
| correct output |
|---|
| 489611392 |
| user output |
|---|
| ydiag 0 0 1 [0, 0] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 12
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 2000 2000 5 ................................. |
| correct output |
|---|
| 120725884 |
| user output |
|---|
| ydiag 0 0 1 [0, 0] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 13
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 2000 2000 400000 ..*..**.**.**.*.***...**.*..**... |
| correct output |
|---|
| 1849 |
| user output |
|---|
| ydiag 0 0 1 [0, 0] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 14
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 2000 2000 200000 ***.*....*.*..*....**..*..*.*.... |
| correct output |
|---|
| 2665 |
| user output |
|---|
| ydiag 0 0 1 [0, 1] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of rangeTest 15
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 2000 2000 80000 **.**...*.***.**....**.*....*.... |
| correct output |
|---|
| 5587 |
| user output |
|---|
| ydiag 0 0 1 [0, 1] 0 ... |
Error:
Traceback (most recent call last):
File "input/code.py", line 106, in <module>
run()
File "input/code.py", line 97, in run
vaihtoehtoja += calculate_diagonal(0, y1)
File "input/code.py", line 75, in calculate_diagonal
startblock -= start_corners[start]
IndexError: list index out of range