結果
| 問題 |
No.3177 output only nand problem
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-06-13 21:32:05 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 2,000 ms |
| コード長 | 2,404 bytes |
| コンパイル時間 | 12,538 ms |
| コンパイル使用メモリ | 398,256 KB |
| 実行使用メモリ | 7,840 KB |
| 最終ジャッジ日時 | 2025-06-13 21:32:19 |
| 合計ジャッジ時間 | 11,883 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 |
ソースコード
use std::fmt::Debug;
use std::io;
use std::str::FromStr;
struct Scanner<R, W>
where
R: io::BufRead,
W: io::Write,
{
reader: R,
writer: W,
#[allow(dead_code)]
buffer: Vec<String>,
}
impl<R: io::BufRead, W: io::Write> Scanner<R, W> {
fn new(reader: R, writer: W) -> Self
where
R: io::BufRead,
W: io::Write,
{
Self {
reader,
writer,
buffer: Vec::new(),
}
}
#[allow(dead_code)]
fn next<T: std::str::FromStr>(&mut self) -> T {
loop {
if let Some(token) = self.buffer.pop() {
return token.parse().ok().expect("Failed parse");
}
let mut input = String::new();
self.reader.read_line(&mut input).expect("Failed read");
self.buffer = input.split_whitespace().rev().map(String::from).collect();
}
}
#[allow(dead_code)]
fn next_vec<T: std::str::FromStr>(&mut self) -> Vec<T>
where
<T as FromStr>::Err: Debug,
{
let mut input = String::new();
self.reader.read_line(&mut input).expect("Failed read");
input
.split_whitespace()
.map(|x| x.parse::<T>().unwrap())
.collect()
}
}
fn solve<R: io::BufRead, W: io::Write>(scan: &mut Scanner<R, W>) {
// for i in 0..2 {
// for j in 0..2 {
// for k in 0..2 {
// println!("{i} {j} {k}");
// let i = i == 1;
// let j = j == 1;
// let k = k == 1;
// println!("{}", !(!(i & j) & k));
// println!("{}\n", !(i & !(j & k)));
// }
// }
// }
writeln!(scan.writer, "0 0 1").ok();
}
fn main() {
let stdin = io::stdin();
let stdout = &mut io::BufWriter::new(io::stdout());
let mut scan = Scanner::new(stdin.lock(), stdout);
solve(&mut scan);
}
#[cfg(test)]
mod tests {
use super::*;
fn get_output(input: &[u8]) -> String {
let stdout = Vec::new();
let mut scan = Scanner::new(&input[..], stdout);
solve(&mut scan);
let output = String::from_utf8(scan.writer).expect("what?");
let output = output.trim();
output.to_string()
}
#[test]
fn case_0() {
let output = get_output(b"");
assert_eq!(output, "0 0 1".to_owned());
}
}