| Task: | Tulkki |
| Sender: | xheater |
| Submission time: | 2025-11-04 18:44:39 +0200 |
| Language: | Rust (2021) |
| 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.00 s | 1, 2, 3 | details |
| #2 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #3 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #4 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #5 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
| #6 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #7 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #8 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #9 | WRONG ANSWER | 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.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
use std::{char, collections::HashMap, io::{self, BufRead}};
#[derive(Debug)]
enum OPERATION{
CLEAR(char),
PRINT(char),
INCREASE(char),
REPEAT(char, Vec<OPERATION>),
}
fn run_operations(list: &Vec<OPERATION>, map: &mut HashMap<char,i32>){
for command in list{
match command {
OPERATION::CLEAR(char) => if let Some(juusto) = map.get_mut(char){*juusto = 0},
OPERATION::PRINT(char) => if let Some(juusto) = map.get_mut(char){print!("{} ", juusto)},
OPERATION::INCREASE(char) => if let Some(juusto) = map.get_mut(char){*juusto += 1},
OPERATION::REPEAT(char , juustot) => if let Some(juusto) = map.get_mut(char){let thing = *juusto as usize; for _i in 0..thing{run_operations(juustot, map);}},
}
}
}
fn find_match_index(txt: &Vec<char>, index:usize)->usize{
let mut count = 1;
let mut i = index + 1;
while count != 0{
if txt.len() > i{
if txt[i] == '('{
count += 1;
}else if txt[i] == ')'{
count -= 1;
}
i += 1;
}else{
//print!("error");
break;
}
}
return i-1;
}
fn string_to_operation(text: Vec<char>, start:usize, finish:usize) -> Vec<OPERATION>{
let mut rtrn: Vec<OPERATION> = Vec::new();
let mut j = start;
while j < finish{
if j + 5 < text.len(){
if text[j] == 'C' && text[j+1] == 'L'{
rtrn.push(OPERATION::CLEAR(text[j + 5]));
}
else if text[j] == 'P' && text[j+1] == 'R'{
rtrn.push(OPERATION::PRINT(text[j + 5]));
}
else if text[j] == 'I' && text[j+1] == 'N' && text[j+2] == 'C'{
rtrn.push(OPERATION::INCREASE(text[j + 8]));
}
else if text[j] == 'R' && text[j+1] == 'E' && text[j+2] == 'P'{
let end:usize =find_match_index(&text, j + 15);
rtrn.push(OPERATION::REPEAT(text[j + 6], string_to_operation(text.clone(), j + 15, end-1)));
j = end;
}
}
else{
//print!("problem");
}
j += 1;
}
return rtrn;
}
fn main(){
let mut variables: HashMap<char, i32> = HashMap::new();
let alphabets: Vec<char> = vec!['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
for letter in alphabets{
variables.insert(letter, 0);
}
let stdin = io::stdin();
let mut lines: Vec<String> = Vec::new();
for line in stdin.lock().lines() {
let l = line.unwrap();
let no_whitespace: String = l.chars().filter(|c|!c.is_whitespace()).collect();
let no_comments: &str = no_whitespace.splitn(2, '#').next().unwrap_or("");
lines.push(no_comments.to_string());
}
lines.retain(|l|!l.is_empty());
lines.retain(|l|l.chars().next().unwrap() != '#');
let input = lines.join("");
//print!("{}", input);
let chars:Vec<char> = input.chars().collect();
print!("{:?}", chars);
let index = 0;
let length = chars.len();
let _ops= string_to_operation(chars, index, length);
println!("{:?}", _ops);
run_operations(&_ops,&mut variables);
}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 |
|---|
| ['P', 'R', 'I', 'N', 'T', 'X',... |
Feedback: Output is longer 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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer 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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer 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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer 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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer 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 |
|---|
| ['P', 'R', 'I', 'N', 'T', 'X',... |
Feedback: Output is longer than expected
Test 7 (public)
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 5 5 5 5 5 |
| user output |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer than expected
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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer than expected
Test 9 (public)
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 6 7 8 9 10 |
| user output |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer than expected
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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer 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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer than expected
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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer than expected
Test 14 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| # Create number 3 INCREASE A INCREASE A INCREASE... |
| correct output |
|---|
| 12 |
| user output |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer 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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
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 |
|---|
| ['I', 'N', 'C', 'R', 'E', 'A',... |
Feedback: Output is longer than expected
