結果
問題 | No.46 はじめのn歩 |
ユーザー | N |
提出日時 | 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 |
ソースコード
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]); }