blog.bouzuya.net

2023-05-22 濡れて帰ってきて散髪 / PAST #3 I を解いた

子どもを迎えに行こうとしたら雨。

https://iris.to/note1dyyvznf2nf7v5px7sd8x9uyhyfr6lg36l47u4hzfmclu5ggy8m9sf3z60l

濡れて帰ってきて早く風呂に入りたかったのに、上の子が「髪を切ってくれ」としつこい。ぼくが折れて散髪した。

そんなに髪は伸びていないので気休め程度に切った。いつものことだけど後頭部や耳周りをどう切っていいのか分からない。プロの仕事を見ればいいのだろうか。できあがりの写真のひとつでもあればもうすこし良くなりそうではある。


use proconio::{input, marker::Usize1};

fn main() {
    input! {
        n: usize,
        q: usize,
    }

    let mut cols = (0..n).collect::<Vec<usize>>();
    let mut rows = (0..n).collect::<Vec<usize>>();
    let mut rotate = false;
    for _ in 0..q {
        input! {
            t: usize,
        }
        match t {
            1 => {
                input! {
                    a: Usize1,
                    b: Usize1,
                }
                if rotate {
                    cols.swap(a, b);
                } else {
                    rows.swap(a, b);
                }
            }
            2 => {
                input! {
                    a: Usize1,
                    b: Usize1,
                }
                if rotate {
                    rows.swap(a, b);
                } else {
                    cols.swap(a, b);
                }
            }
            3 => {
                rotate = !rotate;
            }
            4 => {
                input! {
                    a: Usize1,
                    b: Usize1,
                }
                if rotate {
                    println!("{}", n * rows[b] + cols[a]);
                } else {
                    println!("{}", n * rows[a] + cols[b]);
                }
            }
            _ => unreachable!(),
        }
    }
}

今日のコミット。