Files
CodeTest/baekjoon/수_찾기/solution_19887302.rs
2024-08-29 16:22:22 +09:00

48 lines
1.2 KiB
Rust

use std::io::{self, BufWriter, Write};
use std::collections::HashMap;
macro_rules! parse_list {
($t: ty) => ({
let mut line = String::new();
io::stdin().read_line(&mut line).unwrap();
let list: Vec<$t> = line.split_whitespace()
.map(|w| w.parse::<$t>().unwrap()).collect();
list
})
}
macro_rules! parse_line {
($($t: ty),+) => ({
let mut line = String::new();
std::io::stdin().read_line(&mut line).unwrap();
let mut iter = line.split_whitespace();
($(iter.next().unwrap().parse::<$t>().unwrap()),+)
})
}
fn main(){
let n : usize = parse_line!(usize);
let inputs : Vec<i32> = parse_list!(i32);
let _m : usize = parse_line!(usize);
let checks : Vec<i32> = parse_list!(i32);
let stdout = io::stdout();
let lock = stdout.lock();
let mut buff = BufWriter::new(lock);
let mut hash : HashMap<i32, bool> = HashMap::with_capacity(n);
for &x in inputs.iter(){
hash.insert(x, true);
}
for &c in checks.iter(){
match hash.get(&c){
Some(_) => {buff.write(b"1\n").expect("Failed to write");},
None => {buff.write(b"0\n").expect("Failed to write");},
}
}
}