結果

問題 No.32 貯金箱の憂鬱
ユーザー yo-kondoyo-kondo
提出日時 2019-03-01 22:24:44
言語 Rust
(1.77.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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 0 ms
6,816 KB
testcase_01 AC 1 ms
6,812 KB
testcase_02 AC 1 ms
6,816 KB
testcase_03 AC 1 ms
6,940 KB
testcase_04 AC 1 ms
6,944 KB
testcase_05 AC 0 ms
6,940 KB
testcase_06 AC 1 ms
6,940 KB
testcase_07 AC 1 ms
6,940 KB
testcase_08 AC 1 ms
6,944 KB
testcase_09 AC 1 ms
6,944 KB
testcase_10 AC 1 ms
6,940 KB
testcase_11 AC 0 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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,
    }
}
0