Task: | Ruudukko |
Sender: | fait |
Submission time: | 2022-11-03 15:31:42 +0200 |
Language: | Node.js |
Status: | READY |
Result: | 28 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 28 |
#2 | TIME LIMIT EXCEEDED | 0 |
#3 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.13 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.13 s | 1, 2, 3 | details |
#3 | ACCEPTED | 0.13 s | 1, 2, 3 | details |
#4 | ACCEPTED | 0.74 s | 2, 3 | details |
#5 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
#6 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
#7 | TIME LIMIT EXCEEDED | -- | 3 | details |
#8 | TIME LIMIT EXCEEDED | -- | 3 | details |
#9 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
const fs = require('fs'); let cache = Array.from(Array(1000), () => Array(1000).fill(0)) let travel = (jj, kk, n, arr) => { let res = 1; let seen = Array.from(Array(n), () => Array(n).fill(0)); if (cache[jj][kk] != 0) { return cache[jj][kk]; } for (let d = kk + 1; d < kk + n; d++) { let cur = arr[jj][d%n]; if (cur >= arr[jj][kk]) { continue; } if (seen[jj][d%n] != 1) { res += travel(jj, d%n, n, arr); } seen[jj][d%n] = 1; } for (let e = jj + 1; e < jj + n; e++) { let cur = arr[e%n][kk]; if (cur >= arr[jj][kk]) { continue; } if (seen[e%n][kk] != 1) { res += travel(e%n, kk, n, arr); } seen[e%n][kk] = 1; } cache[jj][kk] = res; return res; } let input = fs.readFileSync(0, "utf-8").split("\n").map(a => a.split(' ').map(a => parseInt(a))); let n = input.shift()[0]; input.pop(); let res = 0; for (let jj = 0; jj < n; jj++) { for (let kk = 0; kk < n; kk++) { res += travel(jj, kk, n, input); } } console.log(res);
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
3 1 1 1 1 1 1 1 1 1 |
correct output |
---|
9 |
user output |
---|
9 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
3 1 2 3 6 5 4 7 8 9 |
correct output |
---|
135 |
user output |
---|
135 |
Test 3
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
3 7 8 1 4 5 4 3 9 6 |
correct output |
---|
57 |
user output |
---|
57 |
Test 4
Group: 2, 3
Verdict: ACCEPTED
input |
---|
100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
correct output |
---|
10000 |
user output |
---|
10000 |
Test 5
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
187458477 |
user output |
---|
(empty) |
Test 6
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 2995 8734 1018 2513 7971 5063 ... |
correct output |
---|
964692694 |
user output |
---|
(empty) |
Test 7
Group: 3
Verdict: TIME LIMIT EXCEEDED
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: TIME LIMIT EXCEEDED
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: TIME LIMIT EXCEEDED
input |
---|
1000 520283 805991 492643 75254 527... |
correct output |
---|
951147313 |
user output |
---|
(empty) |