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