結果
問題 | No.3027 114514 |
ユーザー | tubo28 |
提出日時 | 2017-03-31 23:24:01 |
言語 | Rust (1.77.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,271 bytes |
コンパイル時間 | 13,967 ms |
コンパイル使用メモリ | 383,964 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-07 14:41:58 |
合計ジャッジ時間 | 13,094 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | WA | - |
testcase_01 | RE | - |
testcase_02 | WA | - |
testcase_03 | RE | - |
testcase_04 | WA | - |
testcase_05 | RE | - |
testcase_06 | RE | - |
testcase_07 | RE | - |
testcase_08 | WA | - |
testcase_09 | WA | - |
ソースコード
fn main() { let mut sc = cin(); while sc.read() { let n: i32 = sc.next(); if (n >> 0 & 1) == 1 { println!("WA"); } else { panic!(); } } } #[allow(dead_code)] fn cin() -> Scanner<std::io::Stdin> { Scanner::new(std::io::stdin()) } #[allow(dead_code)] pub struct Scanner<T> { buf: Vec<u8>, len: usize, idx: usize, next: Option<String>, reader: T, } #[allow(dead_code)] impl<Reader: std::io::Read> Scanner<Reader> { fn new(r: Reader) -> Scanner<Reader> { Scanner { buf: vec![0; 8192], len: 0, idx: 0, next: None, reader: r, } } fn next<T: std::str::FromStr>(&mut self) -> T { self.wrapped::<T>().unwrap() } fn vec<T: std::str::FromStr>(&mut self, n: usize) -> Vec<T> { (0..n).map(|_| self.next()).collect() } fn mat<T: std::str::FromStr>(&mut self, r: usize, c: usize) -> Vec<Vec<T>> { (0..r).map(|_| self.vec(c)).collect() } fn vec_char(&mut self) -> Vec<char> { self.read(); self.next.take().unwrap().chars().collect() } fn mat_char(&mut self, r: usize) -> Vec<Vec<char>> { (0..r).map(|_| self.vec_char()).collect() } fn wrapped<T: std::str::FromStr>(&mut self) -> Option<T> { self.read(); self.next.take().and_then(|s| s.parse::<T>().ok()) } fn read(&mut self) -> bool { if self.next.is_some() { return true; } let mut s = String::with_capacity(16); while let Some(c) = self.get_char() { if !c.is_whitespace() { s.push(c); } else if !s.is_empty() { break; } } self.next = if !s.is_empty() { Some(s) } else { None }; self.next.is_some() } fn get_char(&mut self) -> Option<char> { if self.idx == self.len { match self.reader.read(&mut self.buf[..]) { Ok(l) if l > 0 => { self.idx = 0; self.len = l; } _ => return None, } } self.idx += 1; Some(self.buf[self.idx - 1] as char) } }