| Task: | Tulkki |
| Sender: | 3lv11ra |
| Submission time: | 2025-11-09 14:07:43 +0200 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 12 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 12 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #3 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #4 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #5 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #6 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #7 | ACCEPTED | 0.00 s | 2, 3 | details |
| #8 | ACCEPTED | 0.00 s | 2, 3 | details |
| #9 | ACCEPTED | 0.00 s | 2, 3 | details |
| #10 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #11 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #12 | WRONG ANSWER | 0.71 s | 2, 3 | details |
| #13 | ACCEPTED | 0.00 s | 3 | details |
| #14 | WRONG ANSWER | 0.00 s | 3 | details |
| #15 | WRONG ANSWER | 0.09 s | 3 | details |
| #16 | WRONG ANSWER | 0.01 s | 3 | details |
| #17 | WRONG ANSWER | 0.00 s | 3 | details |
| #18 | WRONG ANSWER | 0.01 s | 3 | details |
Code
#include <bits/stdc++.h>
using namespace std;
// Muuttujat A-Z
int vars[26];
// Poistaa riviltä kommentit
string remove_comment(const string &line) {
size_t pos = line.find('#');
if (pos != string::npos) return line.substr(0, pos);
return line;
}
// Pilkkoo syötteen sanoiksi
vector<string> tokenize(const string &s) {
vector<string> tokens;
string token;
for (char c : s) {
if (isspace(c)) {
if (!token.empty()) tokens.push_back(token);
token.clear();
} else {
token += c;
}
}
if (!token.empty()) tokens.push_back(token);
return tokens;
}
// Suorittaa komennot tokenien välillä [start, end)
void execute(const vector<string>& tokens, int start, int end) {
for (int i = start; i < end;) {
string cmd = tokens[i];
if (cmd == "CLEAR") {
i++;
char var = tokens[i][0];
vars[var - 'A'] = 0;
i++;
} else if (cmd == "INCREASE") {
i++;
char var = tokens[i][0];
vars[var - 'A']++;
i++;
} else if (cmd == "PRINT") {
i++;
char var = tokens[i][0];
cout << vars[var - 'A'] << " ";
i++;
} else if (cmd == "REPEAT") {
i++;
char var = tokens[i][0];
int count = vars[var - 'A'];
i++; // siirry "TIMES"
i++; // siirry "("
int depth = 1;
int block_start = i;
while (i < end && depth > 0) {
if (tokens[i] == "(") depth++;
else if (tokens[i] == ")") depth--;
i++;
}
int block_end = i - 1; // sulkuun asti
// Suorita silmukan block count kertaa
for (int c = 0; c < count; c++) {
execute(tokens, block_start, block_end);
}
} else {
i++; // ohitetaan tuntematon
}
}
}
int main() {
// Alusta muuttujat nollaksi
fill(vars, vars + 26, 0);
// Lue koko koodi syötteestä ja poista kommentit
string line, code;
while (getline(cin, line)) {
line = remove_comment(line);
if (!line.empty()) code += line + " ";
}
// Pilko tokenit
vector<string> tokens = tokenize(code);
// Suorita koko token-jono
execute(tokens, 0, tokens.size());
cout << endl;
return 0;
}
Test details
Test 1 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| PRINT X INCREASE X PRINT X INCREASE X PRINT X ... |
| correct output |
|---|
| 0 1 2 0 |
| user output |
|---|
| 0 1 2 0 |
Test 2 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE X # aybabtu PRINT X INCREASE # test ... |
| correct output |
|---|
| 1 3 |
| user output |
|---|
| 1 3 |
Test 3 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| # Create number 3 INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 4 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| 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 |
|---|
| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
Test 5 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 999 |
| user output |
|---|
| 999 |
Test 6 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| 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 |
|---|
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
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: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 0 0 0 0 0 |
| user output |
|---|
| 0 0 0 0 0 |
Test 9 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 6 7 8 9 10 |
| user output |
|---|
| 6 7 8 9 10 |
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 |
|---|
| 1 1 2 2 3 3 4 4 5 5 |
Feedback: Output is longer than expected
Test 11 (public)
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 20 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 12 (public)
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A INCREASE A INCREASE B INCREASE B ... |
| correct output |
|---|
| 42 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 13 (public)
Group: 3
Verdict: ACCEPTED
| 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 |
|---|
| 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 |
Test 14 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| # Create number 3 INCREASE A INCREASE A INCREASE... |
| correct output |
|---|
| 12 |
| user output |
|---|
| 4 8 12 |
Feedback: Output is longer than expected
Test 15 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 531441 |
| user output |
|---|
| 59049 118098 177147 236196 295... |
Feedback: Output is longer than expected
Test 16 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 1337 |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 17 (public)
Group: 3
Verdict: WRONG ANSWER
| 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 |
|---|
| 1 2 1 2 1 1 1 2 3 4 1 5 6 7 8 ... |
Feedback: Output is shorter than expected
Test 18 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| # Efficient algorithm for find... |
| correct output |
|---|
| 2 3 5 7 11 13 17 19 23 29 31 3... |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
