Task: | Merkkijonot |
Sender: | aleksih |
Submission time: | 2019-10-04 13:23:35 +0300 |
Language: | Rust |
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.01 s | 1, 2, 3 | details |
#2 | WRONG ANSWER | 0.02 s | 2, 3 | details |
#3 | WRONG ANSWER | 0.26 s | 3 | details |
#4 | RUNTIME ERROR | 0.10 s | 3 | details |
#5 | RUNTIME ERROR | 0.05 s | 3 | details |
#6 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
#7 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#8 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#9 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#10 | RUNTIME ERROR | 0.02 s | 2, 3 | details |
#11 | RUNTIME ERROR | 0.02 s | 2, 3 | details |
#12 | RUNTIME ERROR | 0.02 s | 2, 3 | details |
#13 | RUNTIME ERROR | 0.02 s | 2, 3 | details |
#14 | RUNTIME ERROR | 0.02 s | 2, 3 | details |
#15 | RUNTIME ERROR | 0.27 s | 3 | details |
#16 | RUNTIME ERROR | 0.27 s | 3 | details |
#17 | RUNTIME ERROR | 0.27 s | 3 | details |
#18 | RUNTIME ERROR | 0.27 s | 3 | details |
#19 | RUNTIME ERROR | 0.27 s | 3 | details |
#20 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
#21 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
#22 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#23 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
#24 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
Compiler report
warning: function `nCr` should have a snake case name --> input/code.rs:10:4 | 10 | fn nCr(n: u32, k: u32) -> u32 { | ^^^ help: convert the identifier to snake case: `n_cr` | = note: #[warn(non_snake_case)] on by default
Code
use std::collections::HashMap; fn fact(n: u32) -> u32 { match n { 0 => 1, _ => n * fact(n - 1) } } fn nCr(n: u32, k: u32) -> u32 { if k > n { return 0; } return fact(n) / (fact(k) * fact(n - k)); } fn main() { let mut mjonot_lkm_str = String::new(); std::io::stdin().read_line(&mut mjonot_lkm_str).unwrap(); let mjonot_lkm = mjonot_lkm_str.trim().parse::<usize>().unwrap(); let mut mjono_luokat: HashMap<String, usize> = HashMap::new(); for _ in 0..mjonot_lkm { let mut alku_mjono = String::new(); std::io::stdin().read_line(&mut alku_mjono).unwrap(); alku_mjono = alku_mjono.trim().to_string(); let mut korvatut = std::vec::Vec::new(); let mut loppu_mjono: std::vec::Vec<u8> = std::vec::Vec::new(); for alku_mjono_char in alku_mjono.as_bytes() { loppu_mjono.push(*alku_mjono_char); } let mut i = b'A'; for mjono_char in alku_mjono.into_bytes() { if korvatut.contains(&mjono_char) { continue; } korvatut.push(mjono_char); loppu_mjono = loppu_mjono.into_iter().map(|loppu_char| { if loppu_char == mjono_char { return i as u8; } return loppu_char; }).collect(); i += 1; } let avain = String::from_utf8(loppu_mjono).unwrap(); mjono_luokat.entry(avain) .and_modify(|lkm| { *lkm += 1 }) .or_insert(1); } let mut kokonais_lkm = 0; for lkm in mjono_luokat.values() { kokonais_lkm += nCr(*lkm as u32, 2); } println!("{}", kokonais_lkm); }
Test details
Test 1
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
20 FFDISOVJLPIASANJRBHQXJVW HBGVRZFWOTAAVUPYKMKXAOBEYUE JKHXTPHUKTLTLNXMXMSYYFLF HCSZMXTZCUFHIHSTEWKHCFZRTXU ... |
correct output |
---|
20 |
user output |
---|
0 |
Test 2
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
5000 AJEDROEDXRGDUSDAPZBXXQBPJ PDGCTAGCRTBCJICPFELRRMLFD TISAOTGMDKUCITIEFQVCSBZJYUUO FMASVJYFPMELSVLQWFZVLVMSPHYL ... |
correct output |
---|
2178556 |
user output |
---|
117 |
Test 3
Group: 3
Verdict: WRONG ANSWER
input |
---|
100000 RESKYADLVRSDCDXJVECAJCAP CZLIWDHKVNRJHZINHFBOQEPN LSTRSDTLADUIWXFQJSQPVRSPBCTZ QEMSZOQSSVBRNQTCLJQIGVQO ... |
correct output |
---|
404880850 |
user output |
---|
343 |
Test 4
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
4999950000 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 5
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 IPI Q SPGV UNYE ... |
correct output |
---|
1041990627 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 6
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
20 A B C D ... |
correct output |
---|
190 |
user output |
---|
0 |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 A |
correct output |
---|
0 |
user output |
---|
0 |
Test 8
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 A BB CCC DDDD ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 9
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
2 A A |
correct output |
---|
1 |
user output |
---|
1 |
Test 10
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
5000 SEKNHNRHSRFYIHSCDPGXPTGUSYBFKZ... |
correct output |
---|
20861 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 11
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
5000 UGPWHWOWAREEIROZTRJGUCKDKTZJEO... |
correct output |
---|
22818 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 12
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
5000 FFQQCBCINBDWIKHFPO SCJU DNHYPGIQNZS KNQCYRAXHHKORXMOVHL ... |
correct output |
---|
22268 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 13
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
5000 QVWMSYPWXWBBXWCVEOUAVQLDWNBXZB... |
correct output |
---|
22589 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 14
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
5000 JYORMNQAKXHNRBWGGSMWXWXMBKPBZU... |
correct output |
---|
20482 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 15
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 DCXXVIEYQAASZJYUUVYZUIJFGVBAYC... |
correct output |
---|
8925377 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 16
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 IJZHBIYNWQBDWNGZWVXJKXXWFVLPQX... |
correct output |
---|
8907840 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 17
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 GWUGLGQDAYGGJROIAKBMMICQMDUQQQ... |
correct output |
---|
8771809 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 18
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 SWVSVXURRSLCSHCPAKWESIPCNDKYLD... |
correct output |
---|
8704480 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 19
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 ZLSNSZBGIMCOLPDEAKVDAJCTMBNRLH... |
correct output |
---|
8672362 |
user output |
---|
(empty) |
Error:
thread 'main' panicked at 'attempt to divide by zero', input/code.rs:14:12 note: Run with...
Test 20
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
20 AAB D CDBAA D ... |
correct output |
---|
15 |
user output |
---|
12 |
Test 21
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
20 A CDD AABBC DBCB ... |
correct output |
---|
15 |
user output |
---|
12 |
Test 22
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 ACADD CDDCD DACA CCDCA ... |
correct output |
---|
17 |
user output |
---|
17 |
Test 23
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
20 DCDA BDBA CACBD BA ... |
correct output |
---|
7 |
user output |
---|
4 |
Test 24
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
20 DDA BBCDC DDD CCD ... |
correct output |
---|
14 |
user output |
---|
10 |