Task: | Pizzat |
Sender: | villsukka |
Submission time: | 2024-10-28 14:26:23 +0200 |
Language: | Rust (2021) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 100 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | ACCEPTED | 0.00 s | details |
#5 | ACCEPTED | 0.00 s | details |
#6 | ACCEPTED | 0.00 s | details |
#7 | ACCEPTED | 0.00 s | details |
#8 | ACCEPTED | 0.00 s | details |
#9 | ACCEPTED | 0.00 s | details |
#10 | ACCEPTED | 0.00 s | details |
#11 | ACCEPTED | 0.00 s | details |
#12 | ACCEPTED | 0.00 s | details |
#13 | ACCEPTED | 0.00 s | details |
Code
use std::{io, str::FromStr}; #[derive(Debug)] struct Pizza { people_count: i32, slice_count: i32, } impl FromStr for Pizza { type Err = (); fn from_str(s: &str) -> std::result::Result<Self, Self::Err> { let mut parts = s .strip_suffix('\n') .or(Some(s)) .expect("Or is always something") .split(" "); let people_count: i32 = parts .next() .expect("Missing 1st parameter") .parse() .expect("1st parameter"); let pizza_count: i32 = parts .next() .expect("Missing 2nd parameter") .parse() .expect("2nd parameter"); let slices_per_pizza: i32 = parts .next() .expect("Missing 3rd parameter") .parse() .expect("3rd parameter"); Ok(Self { people_count, slice_count: pizza_count * slices_per_pizza, }) } } impl Pizza { pub fn count_slices_per_person(&self) -> (i32, i32) { let min_slice_per_person = self.slice_count / self.people_count; let max_slice_per_person = match self.slice_count % self.people_count { 0 => min_slice_per_person, _ => min_slice_per_person + 1, }; (min_slice_per_person, max_slice_per_person) } } fn main() { let mut input = String::new(); io::stdin().read_line(&mut input).unwrap(); let pizza: Pizza = input.parse().unwrap(); dbg!(&pizza); let (x, y) = pizza.count_slices_per_person(); println!("{} {}", x, y); }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
3 2 4 |
correct output |
---|
2 3 |
user output |
---|
2 3 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 3, slice_count: 8, }
Test 2
Verdict: ACCEPTED
input |
---|
1 1 1 |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 1, slice_count: 1, }
Test 3
Verdict: ACCEPTED
input |
---|
1 1 2 |
correct output |
---|
2 2 |
user output |
---|
2 2 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 1, slice_count: 2, }
Test 4
Verdict: ACCEPTED
input |
---|
2 1 1 |
correct output |
---|
0 1 |
user output |
---|
0 1 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 2, slice_count: 1, }
Test 5
Verdict: ACCEPTED
input |
---|
2 5 7 |
correct output |
---|
17 18 |
user output |
---|
17 18 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 2, slice_count: 35, }
Test 6
Verdict: ACCEPTED
input |
---|
1 1000 1000 |
correct output |
---|
1000000 1000000 |
user output |
---|
1000000 1000000 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 1, slice_count: 1000000, }
Test 7
Verdict: ACCEPTED
input |
---|
1000 1000 1000 |
correct output |
---|
1000 1000 |
user output |
---|
1000 1000 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 1000, slice_count: 1000000, }
Test 8
Verdict: ACCEPTED
input |
---|
1000 1 1 |
correct output |
---|
0 1 |
user output |
---|
0 1 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 1000, slice_count: 1, }
Test 9
Verdict: ACCEPTED
input |
---|
997 995 997 |
correct output |
---|
995 995 |
user output |
---|
995 995 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 997, slice_count: 992015, }
Test 10
Verdict: ACCEPTED
input |
---|
997 994 997 |
correct output |
---|
994 994 |
user output |
---|
994 994 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 997, slice_count: 991018, }
Test 11
Verdict: ACCEPTED
input |
---|
997 996 995 |
correct output |
---|
994 995 |
user output |
---|
994 995 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 997, slice_count: 991020, }
Test 12
Verdict: ACCEPTED
input |
---|
997 996 996 |
correct output |
---|
995 996 |
user output |
---|
995 996 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 997, slice_count: 992016, }
Test 13
Verdict: ACCEPTED
input |
---|
997 995 499 |
correct output |
---|
497 498 |
user output |
---|
497 498 |
Error:
[input/code.rs:62] &pizza = Pizza { people_count: 997, slice_count: 496505, }