Submission details
Task:Ruudukko
Sender:Sup
Submission time:2025-06-30 15:26:39 +0300
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.07 s1, 2, 3details
#20.07 s1, 2, 3details
#30.07 s1, 2, 3details
#40.07 s2, 3details
#50.07 s2, 3details
#60.07 s2, 3details
#70.48 s3details
#80.53 s3details
#90.53 s3details

Code

import sys
sys.setrecursionlimit(5000)

def solve(nums):
    n = len(nums)
    m = len(nums[0])
    calculated = [[-1] * m for _ in range(n)]
    indeces = [[-1] * m for _ in range(n)]
    for i in range(n):
        for j in range(m):
            indeces[i][j] = (nums[i][j], i, j)
    #indeces = [(nums[i][j], i, j) for j in range(m) for i in range(n)]
    indecesSorted = sorted(indeces)

    def inner(idx, idx1):
        if idx < 0 or idx1 < 0:
            return 0
        elif idx >= n or idx1 >= m:
            return 0
        elif nums[idx][idx1] == 1:
            calculated[idx][idx1] = 0
            return 0

        else:
            total = 0
            for i in range(n):
                if nums[i][idx1] < nums[idx][idx1]:
                    up = 0  if calculated[i][idx1] == -1 else calculated[i][idx1] + 1
                    total += up
                    total %= 1000000007

            for j in range(m):
                if nums[idx][j] < nums[idx][idx1]:
                    up = 0  if calculated[idx][j] == -1 else calculated[idx][j] + 1
                    total += up
                    total %= 1000000007

            calculated[idx][idx1] = total
            return total

    total = 0
    for i in range(n * m):
        curr = indecesSorted[i]
        first = curr[1]
        second = curr[2]
        total += 0 if calculated[first][second] == -1 else calculated[first][second]
        total %= 1000000007
    print(calculated)
    return total + n * m

n = int(input())

nums = [[-1] * n for _ in range(n)]
for i in range(n):
    nums[i] = [int(aValue) for aValue in input().split()]

print(solve(nums))

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
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...

Test 2

Group: 1, 2, 3

Verdict:

input
3
1 2 3
6 5 4
7 8 9

correct output
135

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...

Test 3

Group: 1, 2, 3

Verdict:

input
3
7 8 1
4 5 4
3 9 6

correct output
57

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...

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
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...

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
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...

Test 6

Group: 2, 3

Verdict:

input
100
2995 8734 1018 2513 7971 5063 ...

correct output
964692694

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...

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)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...

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)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...

Test 9

Group: 3

Verdict:

input
1000
520283 805991 492643 75254 527...

correct output
951147313

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 57, in <module>
    print(...