QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#779477 | #9794. ICPC Shenyang in NEU, the Tenth Consecutive Year | Lord-scheme | RE | 0ms | 0kb | Rust | 1.7kb | 2024-11-24 19:20:23 | 2024-11-24 19:20:23 |
answer
use std::io;
use std::str;
pub struct Scanner<R> {
reader: R,
buffer: Vec<String>,
}
impl<R: io::BufRead> Scanner<R> {
pub fn new(reader: R) -> Self {
Self {
reader,
buffer: vec![],
}
}
pub fn token<T: 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();
}
}
pub fn next<T: str::FromStr>(&mut self) -> Option<T> {
let res = self.buffer.pop();
match res {
Some(token) => {
if let Ok(value) = token.parse() {
return Some(value);
}
self.buffer.push(token);
}
None => {
let mut input = String::new();
self.reader.read_line(&mut input).expect("Failed read");
self.buffer = input.split_whitespace().rev().map(String::from).collect();
}
}
None
}
}
#[allow(dead_code)]
#[allow(non_snake_case)]
fn main() {
let mut sc = Scanner::new(std::io::stdin().lock());
let T = sc.next::<usize>().unwrap();
for _ in 0..T {
let mut cur = 1923 as usize;
loop {
println!("?\t{cur}");
let ans = sc.next::<usize>().unwrap();
if ans == 0 {
break;
}
cur += 1;
}
println!("!\t{cur}");
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Runtime Error
input:
1