| Task: | Tulkki |
| Sender: | mestari037 |
| Submission time: | 2025-11-09 19:50:29 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #2 | WRONG ANSWER | 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 | ACCEPTED | 0.00 s | 2, 3 | details |
| #11 | ACCEPTED | 0.00 s | 2, 3 | details |
| #12 | ACCEPTED | 0.00 s | 2, 3 | details |
| #13 | WRONG ANSWER | 0.00 s | 3 | details |
| #14 | WRONG ANSWER | 0.00 s | 3 | details |
| #15 | WRONG ANSWER | 0.00 s | 3 | details |
| #16 | WRONG ANSWER | 0.00 s | 3 | details |
| #17 | WRONG ANSWER | 0.00 s | 3 | details |
| #18 | WRONG ANSWER | 0.00 s | 3 | details |
Code
#include <iostream>
#include <vector>
#include <string>
#include <map>
int main(){
std::map<char, int> muuttujat;
for (char c = 'A'; c <= 'Z'; c++){
muuttujat[c] = 0;
}
std::string koodi = "";
std::string rivi;
while (std::getline(std::cin, rivi)){
koodi += rivi + "\n";
}
std::vector<std::string> komennot;
std::string nykyinenKomento = "";
for (size_t i = 0; i < koodi.length(); i++){
char c = koodi[i];
if (c == '#'){
while (i < koodi.length() && koodi[i] != '\n'){
i++;
}
continue;
}
if (std::isspace(c)){
if (!nykyinenKomento.empty()){
komennot.push_back(nykyinenKomento);
nykyinenKomento = "";
}
} else if (c == '(' || c == ')'){
if (!nykyinenKomento.empty()){
komennot.push_back(nykyinenKomento);
nykyinenKomento = "";
}
komennot.push_back(std::string(1, c));
}
else {
nykyinenKomento += c;
}
}
if (!nykyinenKomento.empty()){
komennot.push_back(nykyinenKomento);
}
std::vector<int> Tuloste;
for (size_t i = 0; i < komennot.size(); i++){
std::string komento = komennot[i];
if (komento == "CLEAR"){
char muuttuja = komennot[i + 1][0];
muuttujat[muuttuja] = 0;
i++;
} else if (komento == "INCREASE"){
char muuttuja = komennot[i + 1][0];
muuttujat[muuttuja]++;
i++;
} else if (komento == "PRINT"){
char muuttuja = komennot[i + 1][0];
Tuloste.push_back(muuttujat[muuttuja]);
i++;
} else if (komento == "REPEAT"){
char muuttuja = komennot[i + 1][0];
int toistot = muuttujat[muuttuja];
i += 3;
size_t alku = i + 1;
size_t loppu = alku;
while (loppu < komennot.size() && komennot[loppu] != ")"){
loppu++;
}
for (int t = 0; t < toistot; t++){
for (size_t j = alku; j < loppu; j++){
std::string toistoKomento = komennot[j];
if (toistoKomento == "CLEAR"){
char m = komennot[j + 1][0];
muuttujat[m] = 0;
j++;
} else if (toistoKomento == "INCREASE"){
char m = komennot[j + 1][0];
muuttujat[m]++;
j++;
} else if (toistoKomento == "PRINT"){
char m = komennot[j + 1][0];
Tuloste.push_back(muuttujat[m]);
j++;
}
}
}
i = loppu;
}
}
for (int arvo : Tuloste){
std::cout << arvo << " ";
}
}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: WRONG ANSWER
| input |
|---|
| INCREASE X # aybabtu PRINT X INCREASE # test ... |
| correct output |
|---|
| 1 3 |
| user output |
|---|
| 1 |
Feedback: Output is shorter than expected
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: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 5 5 |
| user output |
|---|
| 5 5 |
Test 11 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 20 |
| user output |
|---|
| 20 |
Test 12 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE B INCREASE B ... |
| correct output |
|---|
| 42 |
| user output |
|---|
| 42 |
Test 13 (public)
Group: 3
Verdict: WRONG ANSWER
| 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 3 4 5 |
Feedback: Output is shorter than expected
Test 14 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| # Create number 3 INCREASE A INCREASE A INCREASE... |
| correct output |
|---|
| 12 |
| user output |
|---|
| 3 |
Feedback: Incorrect character on line 1 col 1: expected "12", got "3"
Test 15 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 531441 |
| user output |
|---|
| 9 |
Feedback: Incorrect character on line 1 col 1: expected "531441", got "9"
Test 16 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 1337 |
| user output |
|---|
| 7 |
Feedback: Incorrect character on line 1 col 1: expected "1337", got "7"
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 2 1 2 |
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 |
|---|
| 2 4 5 6 9 12 13 16 19 22 26 28... |
Feedback: Output is shorter than expected
