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 */