結果

問題 No.46 はじめのn歩
ユーザー NN
提出日時 2022-12-30 18:04:31
言語 Rust
(1.77.0 + proconio)
結果
AC  
実行時間 1 ms / 5,000 ms
コード長 1,602 bytes
コンパイル時間 11,013 ms
コンパイル使用メモリ 401,872 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-25 16:55:10
合計ジャッジ時間 12,026 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

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

ソースコード

diff #

use std::io;

fn main() {
    // まず、インプットの標準ライブラリを
    // 使うために、可変長の文字列を定義する。
    let mut ab = String::new();

    // インプットの標準ライブラリの
    // read_lineの引数はString。
    // expectは失敗時に実行される。

    io::stdin().read_line(&mut ab)
        .expect("入力エラー。");

    // trimは前後の空白を取り除く関数だが
    // これが必要な理由はわからないが
    // trimを抜いた場合panicが起こり
    // エラーになる。
    // splitで指定した文字で区切る(スペース)
    // mapで変数の型を変換する。
    // 下記の場合xが一時的な変数として代入される
    // map内のparse関数によって変数に指定してある
    // Vecter型に変換する。
    // collect関数によってイテレータを使い
    // Vectorとして数値を入れる
    let ab: Vec<u32> = ab.trim().split(" ")
        .map(|x| x.parse().unwrap()).collect();

    // Rustでは整数の割り算は小数点が表示されない。
    // aがab[0], bがab[1]として計算
    // ab[1] / ab[0]だと、余りの分が歩数として
    // 計算されないため、失敗。
    // そのため、割る数にab[0]をプラスすることで
    // 割ったときに1増えることになる。
    // だが、割り切れる数だった場合数字が小数点を
    // オーバーしてしまいプラス2になるため、
    // -1をしておく。
        println!("{}", (ab[1] + ab[0] - 1) / ab[0]);
}
0