結果

問題 No.3108 Luke or Bishop
ユーザー zer0-star
提出日時 2025-04-19 00:05:01
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 1 ms / 2,000 ms
コード長 878 bytes
コンパイル時間 12,781 ms
コンパイル使用メモリ 399,484 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-04-19 00:05:15
合計ジャッジ時間 12,033 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 26
権限があれば一括ダウンロードができます
コンパイルメッセージ
warning: constant `DIRS` is never used
 --> src/main.rs:3:7
  |
3 | const DIRS: [(isize, isize); 4] = [(0, 1), (1, 0), (0, -1), (-1, 0)];
  |       ^^^^
  |
  = note: `#[warn(dead_code)]` on by default

warning: trait `OrdExt` is never used
 --> src/main.rs:5:7
  |
5 | trait OrdExt {
  |       ^^^^^^

ソースコード

diff #

use proconio::{fastout, input};

const DIRS: [(isize, isize); 4] = [(0, 1), (1, 0), (0, -1), (-1, 0)];

trait OrdExt {
    fn chmax(&mut self, other: Self) -> bool;
    fn chmin(&mut self, other: Self) -> bool;
}

impl<T: Ord> OrdExt for T {
    fn chmax(&mut self, other: Self) -> bool {
        if *self < other {
            *self = other;
            true
        } else {
            false
        }
    }

    fn chmin(&mut self, other: Self) -> bool {
        if *self > other {
            *self = other;
            true
        } else {
            false
        }
    }
}

#[fastout]
fn main() {
    input! {
        gx: isize,
        gy: isize,
    }

    if gx == 0 && gy == 0 {
        println!("0");
    } else if gx.abs() == gy.abs() {
        println!("1");
    } else if gx == 0 || gy == 0 {
        println!("1");
    } else {
        println!("2");
    }
}
0