結果
| 問題 | 
                            No.32 貯金箱の憂鬱
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2019-03-01 22:24:44 | 
| 言語 | Rust  (1.83.0 + proconio)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 1 ms / 5,000 ms | 
| コード長 | 1,166 bytes | 
| コンパイル時間 | 11,705 ms | 
| コンパイル使用メモリ | 402,688 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-07-23 07:27:59 | 
| 合計ジャッジ時間 | 12,574 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 12 | 
ソースコード
use std::io::stdin;
/// 入力データ
#[derive(Debug)]
struct InputData {
    /// 100 円硬貨
    yen100: i32,
    /// 25 円硬貨
    yen25: i32,
    /// 1 円硬貨
    yen1: i32,
}
fn main() {
    let input = input_data();
    println!("{}", exchange(input));
}
/// 両替を行い、硬貨の合計枚数を返します。
fn exchange(input: InputData) -> i32 {
    let mut yen100 = input.yen100;
    let mut yen25 = input.yen25;
    let mut yen1 = input.yen1;
    yen25 += yen1 / 25;
    yen1 = yen1 % 25;
    yen100 += yen25 / 4;
    yen25 = yen25 % 4;
    yen100 = yen100 % 10;
    yen100 + yen25 + yen1
}
fn input_data() -> InputData {
    // 1行目
    let mut yen100 = String::new();
    stdin().read_line(&mut yen100).unwrap();
    let yen100: i32 = yen100.trim().parse().unwrap();
    // 2行目
    let mut yen25 = String::new();
    stdin().read_line(&mut yen25).unwrap();
    let yen25: i32 = yen25.trim().parse().unwrap();
    // 3行目
    let mut yen1 = String::new();
    stdin().read_line(&mut yen1).unwrap();
    let yen1: i32 = yen1.trim().parse().unwrap();
    InputData {
        yen100,
        yen25,
        yen1,
    }
}