結果
問題 | No.627 ランダムウォークの軌跡 |
ユーザー |
![]() |
提出日時 | 2020-07-25 23:55:59 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 666 bytes |
コンパイル時間 | 13,067 ms |
コンパイル使用メモリ | 387,448 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 18:25:30 |
合計ジャッジ時間 | 14,419 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
ソースコード
use std::io::Read; fn read<T: std::str::FromStr>() -> T { let token: String = std::io::stdin() .bytes() .map(|c| c.ok().unwrap() as char) .skip_while(|c| c.is_whitespace()) .take_while(|c| !c.is_whitespace()) .collect(); token.parse().ok().unwrap() } fn main() { let t: usize = read(); let mut xs = vec![0; t]; for i in 0..t { xs[i] = read(); } let ans = xs .iter() .scan(0, |prev, &x| { let res = *prev - 1 == x || *prev + 1 == x; *prev = x; Some(res) }) .all(|y| y); println!("{}", if ans { 'T' } else { 'F' }); }