| Task: | Tulkki |
| Sender: | j-l |
| Submission time: | 2025-11-01 20:18:53 +0200 |
| Language: | Node.js |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.11 s | 1, 2, 3 | details |
| #2 | WRONG ANSWER | 0.11 s | 1, 2, 3 | details |
| #3 | WRONG ANSWER | 0.11 s | 1, 2, 3 | details |
| #4 | WRONG ANSWER | 0.11 s | 1, 2, 3 | details |
| #5 | WRONG ANSWER | 0.12 s | 1, 2, 3 | details |
| #6 | WRONG ANSWER | 0.12 s | 1, 2, 3 | details |
| #7 | ACCEPTED | 0.12 s | 2, 3 | details |
| #8 | WRONG ANSWER | 0.11 s | 2, 3 | details |
| #9 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #10 | WRONG ANSWER | 0.11 s | 2, 3 | details |
| #11 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #12 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
| #13 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #14 | WRONG ANSWER | 0.11 s | 3 | details |
| #15 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #16 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #17 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #18 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
const readline = require('readline');
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let variables = {};
for (let char of alphabet) variables[char] = 0;
function cleanInput(input) {
return input
.split('\n')
.map(line => line.split('#')[0].trim())
.filter(line => line.length > 0)
.join(' ');
}
function tokenize(input) {
const tokens = [];
let i = 0;
while (i < input.length) {
if (input[i] === '(') {
let depth = 1, j = i + 1;
while (j < input.length && depth > 0) {
if (input[j] === '(') depth++;
else if (input[j] === ')') depth--;
j++;
}
tokens.push(input.slice(i, j));
i = j;
} else {
let j = i;
while (j < input.length && !/\s|\(|\)/.test(input[j])) j++;
tokens.push(input.slice(i, j));
i = j;
}
while (i < input.length && /\s/.test(input[i])) i++;
}
return tokens;
}
function executeTokens(tokens) {
let i = 0;
while (i < tokens.length) {
const token = tokens[i];
if (["INCREASE", "CLEAR", "PRINT"].includes(token)) {
const varName = tokens[i + 1];
if (!alphabet.includes(varName)) {
i += 2;
continue;
}
if (token === "INCREASE") variables[varName]++;
else if (token === "CLEAR") variables[varName] = 0;
else if (token === "PRINT") console.log(variables[varName]);
i += 2;
} else if (token === "REPEAT") {
const varName = tokens[i + 1];
const block = tokens[i + 3];
if (tokens[i + 2] !== "TIMES" || !alphabet.includes(varName) || !block.startsWith("(")) {
i += 4;
continue;
}
const inner = block.slice(1, -1);
const innerTokens = tokenize(inner);
for (let j = 0; j < variables[varName]; j++) {
executeTokens(innerTokens);
}
i += 4;
} else {
i++;
}
}
}
function interpret(rawInput) {
const cleaned = cleanInput(rawInput);
const tokens = tokenize(cleaned);
executeTokens(tokens);
}
let buffer = "";
function inputLoop() {
rl.question("", (line) => {
buffer += line + "\n";
if (line.includes(")")) {
interpret(buffer);
buffer = "";
}
inputLoop();
});
}
inputLoop();Test details
Test 1 (public)
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| PRINT X INCREASE X PRINT X INCREASE X PRINT X ... |
| correct output |
|---|
| 0 1 2 0 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 2 (public)
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE X # aybabtu PRINT X INCREASE # test ... |
| correct output |
|---|
| 1 3 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 3 (public)
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| # Create number 3 INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 4 (public)
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A PRINT A INCREASE B PRINT B INCREASE C ... |
| correct output |
|---|
| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 5 (public)
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 999 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 6 (public)
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| PRINT X PRINT X PRINT X PRINT X PRINT X ... |
| correct output |
|---|
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 7 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 5 5 5 5 5 |
| user output |
|---|
| 5 5 5 5 5 |
Test 8 (public)
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 0 0 0 0 0 |
| user output |
|---|
| 0 |
Feedback: Output is shorter than expected
Test 9 (public)
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 6 7 8 9 10 |
| user output |
|---|
| (empty) |
Test 10 (public)
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 5 5 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 11 (public)
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 20 |
| user output |
|---|
| (empty) |
Test 12 (public)
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| INCREASE A INCREASE A INCREASE B INCREASE B ... |
| correct output |
|---|
| 42 |
| user output |
|---|
| (empty) |
Test 13 (public)
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 |
| user output |
|---|
| (empty) |
Test 14 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| # Create number 3 INCREASE A INCREASE A INCREASE... |
| correct output |
|---|
| 12 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 15 (public)
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 531441 |
| user output |
|---|
| (empty) |
Test 16 (public)
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 1337 |
| user output |
|---|
| (empty) |
Test 17 (public)
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| INCREASE A INCREASE A REPEAT A TIMES ( REPEAT A TIMES ( ... |
| correct output |
|---|
| 1 2 1 2 1 1 3 4 3 4 3 4 3 4 3 ... |
| user output |
|---|
| (empty) |
Test 18 (public)
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| # Efficient algorithm for find... |
| correct output |
|---|
| 2 3 5 7 11 13 17 19 23 29 31 3... |
| user output |
|---|
| (empty) |
