結果

問題 No.747 循環小数N桁目 Hard
ユーザー 特命ログイン
提出日時 2018-10-19 22:51:19
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 958 bytes
コンパイル時間 13,054 ms
コンパイル使用メモリ 378,408 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-18 22:02:59
合計ジャッジ時間 16,082 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 120
権限があれば一括ダウンロードができます

ソースコード

diff #

use std::io::{Read,stdin};

fn main() {
    let mut buf = String::new();
    stdin().read_to_string(&mut buf).unwrap();
    let mut tok = buf.split_whitespace();
    let mut get = || tok.next().unwrap();
    
    let n = get().as_bytes();
    let m = get().as_bytes();
    
    let mut cnt = 0;
    for &ch in n.iter() {
        let p = (ch - b'0') as i64;
        cnt += p;
    }
    let nl = (n[n.len()-1] - b'0') as i64;
    let mut rn = 0;
    for i in -1..2 {
        let x = cnt + i;
        if x % 3 == 0 {
            let y = nl + i + 2;
            if y % 2 == 0 {
                rn = (6 - i) % 6;
            } else {
                rn = 3 - i;
            }
        }
    }
    
    //println!("{}", rn);
    let ml = (m[m.len()-1] - b'0') as i64;
    
    let ans = match (rn, ml % 2) {
        (2,0) => 4,
        (5,0) => 1,
        (rn,_) => rn,
    };
    let ans = (ans + 5) % 6;
    
    println!("{}", b"285714"[ans as usize] as char);
}
0