結果
問題 | No.3027 114514 |
ユーザー | tubo28 |
提出日時 | 2017-03-31 23:29:57 |
言語 | Rust (1.77.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 2,250 bytes |
コンパイル時間 | 13,720 ms |
コンパイル使用メモリ | 377,724 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-07 14:44:16 |
合計ジャッジ時間 | 12,872 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 0 ms
5,248 KB |
testcase_01 | AC | 1 ms
5,248 KB |
testcase_02 | AC | 1 ms
5,248 KB |
testcase_03 | AC | 1 ms
5,376 KB |
testcase_04 | AC | 1 ms
5,376 KB |
testcase_05 | AC | 1 ms
5,376 KB |
testcase_06 | AC | 1 ms
5,376 KB |
testcase_07 | AC | 1 ms
5,376 KB |
testcase_08 | AC | 1 ms
5,376 KB |
testcase_09 | AC | 1 ms
5,376 KB |
ソースコード
fn main() { let mut sc = cin(); while sc.read() { let n:usize = sc.next(); let ans = [ 7, 8, 9, 4, 5, 6, 1, 2, 3, 0 ]; println!("{}", ans[n-1]); } } #[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) } }