CSES - Datatähti 2023 alku - Results
Submission details
Task:Ruudukko
Sender:DualRed
Submission time:2022-11-01 18:01:59 +0200
Language:Python3 (CPython3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.02 s1, 2, 3details
#20.02 s1, 2, 3details
#30.02 s1, 2, 3details
#40.98 s2, 3details
#50.99 s2, 3details
#60.99 s2, 3details
#7--3details
#8--3details
#9--3details

Code

import random
import time

def RoutesFromPoint(x, y, memo):
    if grid[x][y] == 1:
        return 1
    s = str(x) + "-" + str(y)
    if s in memo:
        return memo[s]

    totalCount = 1
    for x2 in range(gridSize):
        if x2 != x and grid[x2][y] < grid[x][y]:
            totalCount += RoutesFromPoint(x2, y, memo)
    for y2 in range(gridSize):
        if y2 != y and grid[x][y2] < grid[x][y]:
            totalCount += RoutesFromPoint(x, y2, memo)
    memo[str(x) + "-" + str(y)] = totalCount
    return totalCount



gridSize = int(input())
grid = [[0 for n in range(gridSize)] for m in range(gridSize)]
for y in range(gridSize):
    #row = input().split(" ")
    for x in range(gridSize):
        grid[x][y] = random.randrange(gridSize * gridSize)#int(row[x])

start = time.time()

totalCount = 0
memo = {}
for x in range(gridSize):
    for y in range(gridSize):
        totalCount += RoutesFromPoint(x, y, memo)



end = time.time()

print(totalCount % (1000000007))
print("TIME: " + str(end - start))

Test details

Test 1

Group: 1, 2, 3

Verdict:

input
3
1 1 1
1 1 1
1 1 1

correct output
9

user output
37
TIME: 3.647804260253906e-05

Test 2

Group: 1, 2, 3

Verdict:

input
3
1 2 3
6 5 4
7 8 9

correct output
135

user output
48
TIME: 3.9577484130859375e-05

Test 3

Group: 1, 2, 3

Verdict:

input
3
7 8 1
4 5 4
3 9 6

correct output
57

user output
43
TIME: 4.3392181396484375e-05

Test 4

Group: 2, 3

Verdict:

input
100
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
10000

user output
503840501
TIME: 0.9554405212402344

Test 5

Group: 2, 3

Verdict:

input
100
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
187458477

user output
869604097
TIME: 0.9637808799743652

Test 6

Group: 2, 3

Verdict:

input
100
2995 8734 1018 2513 7971 5063 ...

correct output
964692694

user output
803470827
TIME: 0.9620528221130371

Test 7

Group: 3

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1000000

user output
(empty)

Test 8

Group: 3

Verdict:

input
1000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
229147081

user output
(empty)

Test 9

Group: 3

Verdict:

input
1000
520283 805991 492643 75254 527...

correct output
951147313

user output
(empty)