fn algosia(i: i16, j: i16) -> (i16, i16) {
if i ^ 1 == j {
((i + 2) % 1000, (j + 2) % 1000)
} else {
(i ^ 1, j ^ 1)
}
}
fn bajtek(i: i16, j: i16) -> (i16, i16) {
if i ^ 1 == j {
((i + 998) % 1000, (j + 998) % 1000)
} else {
(i ^ 1, j ^ 1)
}
}
fn main() {
let mut lines = std::io::stdin().lines();
let f = if lines.next().unwrap().unwrap() == "Algosia" { algosia } else { bajtek };
let ij = lines.next().unwrap().unwrap().split_whitespace().map(|x| str::parse(x).unwrap()).collect::<Vec<i16>>();
let (k, l) = f(ij[0] - 1, ij[1] - 1);
println!("{} {}", k + 1, l + 1);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | fn algosia(i: i16, j: i16) -> (i16, i16) { if i ^ 1 == j { ((i + 2) % 1000, (j + 2) % 1000) } else { (i ^ 1, j ^ 1) } } fn bajtek(i: i16, j: i16) -> (i16, i16) { if i ^ 1 == j { ((i + 998) % 1000, (j + 998) % 1000) } else { (i ^ 1, j ^ 1) } } fn main() { let mut lines = std::io::stdin().lines(); let f = if lines.next().unwrap().unwrap() == "Algosia" { algosia } else { bajtek }; let ij = lines.next().unwrap().unwrap().split_whitespace().map(|x| str::parse(x).unwrap()).collect::<Vec<i16>>(); let (k, l) = f(ij[0] - 1, ij[1] - 1); println!("{} {}", k + 1, l + 1); } |
English