1
1
mirror of https://github.com/theoludwig/programming-challenges.git synced 2024-07-18 02:20:12 +02:00

feat(solutions): add cakes-swerc-2020-2021/rust/function

This commit is contained in:
Divlo 2023-01-04 17:28:00 +01:00
parent 71e46d85fb
commit 431253da57
No known key found for this signature in database
GPG Key ID: 8F9478F220CE65E9
5 changed files with 64 additions and 2 deletions

View File

@ -15,8 +15,8 @@ make?
### Input
- **Line 1:** Single integer `N` for the number of ingredients
- **`n` next lines:**, One for each ingredient. Each of these lines contains two positive integers:
- **Line 1:** Single integer `N` for the number of ingredients.
- **`N` next lines:** One for each ingredient. Each of these lines contains two positive integers:
the first one is the required quantity of this ingredient per cake, the second one is the quantity of
this ingredient you have in your kitchen.

View File

@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "rust_application"
version = "1.0.0"

View File

@ -0,0 +1,6 @@
[package]
name = "rust_application"
version = "1.0.0"
edition = "2021"
[dependencies]

View File

@ -0,0 +1,3 @@
# cakes-swerc-2020-2021/rust/function
Created by [@Divlo](https://github.com/Divlo) on 4 January 2023.

View File

@ -0,0 +1,46 @@
use std::io;
fn main() {
let mut number_of_ingredients = String::new();
io::stdin()
.read_line(&mut number_of_ingredients)
.expect("Failed to read `stdin` line.");
let number_of_ingredients: usize = number_of_ingredients
.trim()
.parse()
.expect("Failed to convert `number_of_ingredients` as an `usize`.");
let mut maximum_number_of_cake_possible: Option<u32> = None;
for _ in 0..number_of_ingredients {
let mut line = String::new();
io::stdin()
.read_line(&mut line)
.expect("Failed to read `stdin` line.");
let line_integers: Vec<&str> = line.trim().split_whitespace().collect();
let quantity_per_cake: u32 = line_integers
.get(0)
.expect("Couldn't get `quantity_per_cake`.")
.parse()
.unwrap();
let quantity_available: u32 = line_integers
.get(1)
.expect("Couldn't get `quantity_available`.")
.parse()
.unwrap();
let cake_possible = quantity_available / quantity_per_cake;
if let Some(value) = maximum_number_of_cake_possible {
if cake_possible < value {
maximum_number_of_cake_possible = Some(cake_possible);
}
} else {
maximum_number_of_cake_possible = Some(cake_possible);
}
}
if let Some(value) = maximum_number_of_cake_possible {
println!("{value}");
} else {
println!("0");
}
}