QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#779477#9794. ICPC Shenyang in NEU, the Tenth Consecutive YearLord-schemeRE 0ms0kbRust1.7kb2024-11-24 19:20:232024-11-24 19:20:23

Judging History

你现在查看的是最新测评结果

  • [2024-11-24 19:20:23]
  • 评测
  • 测评结果:RE
  • 用时:0ms
  • 内存:0kb
  • [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}");
    }
}

详细

Test #1:

score: 0
Runtime Error

input:

1

output:


result: