結果

問題 No.3454 Zodiac
コンテスト
ユーザー NakLon131
提出日時 2026-02-28 14:17:37
言語 Rust
(1.93.0 + proconio + num + itertools)
コンパイル:
/usr/bin/rustc_custom
実行:
./target/release/main
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,136 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 13,523 ms
コンパイル使用メモリ 191,576 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2026-02-28 14:17:52
合計ジャッジ時間 5,362 ms
ジャッジサーバーID
(参考情報)
judge4 / judge7
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

use proconio::input;

fn main() {
    input! {
        p: usize, q: usize, // 暦の周期
        mut y: usize, // 現在の年
        mut a: usize, mut b: usize, // 現在の周期の状態
        x: usize, // 求める年
    }

    if y < x {
        solve1(p, q, &mut y, &mut a, &mut b, x);
    }
    else {
        solve2(p, q, &mut y, &mut a, &mut b, x);
    }    
}

fn solve1(p: usize, q: usize, y: &mut usize, a: &mut usize, b: &mut usize, x: usize) {
    while *y < x {
        *a += 1;
        *b += 1;
        if *a > p {
            *a = 1;
        }
        if *b > q {
            *b = 1;
        }
        
        *y += 1;
    }
    println!("{} {}", *a, *b);
}

fn solve2(p: usize, q: usize, y: &mut usize, a: &mut usize, b: &mut usize, x: usize) {
    while *y > x {
        if *a == 1 {
            *a = p;
        }
        else {
            *a -= 1;
        }

        if *b == 1 {
            *b = q;
        }
        else {
            *b -= 1;
        }
        
        *y -= 1;
    }
    println!("{} {}", *a, *b);
}

/*
10 12 2025 2 6 2026
10 12 2026 3 7 2025


314 217 1 1 1 218
314 217 218 218 1 1

*/
0